使用getJSON连接到在线数据库

Connect to an online database using getJSON

本文关键字:在线 数据库 连接 getJSON 使用      更新时间:2023-09-26

当我把var serviceURL = //localhost/services/工作并向我显示数据库时,但当我把它放在网上时,服务器不工作。有人能帮我吗?我使用PhoneGap在XCode上工作。

This my list.js getJSON

var serviceURL = "http://panchoslimi.bugs3.com/services/";
var employees;
$('#employeeListPage').bind('pageinit', function(event) {
getEmployeeList();
});
function getEmployeeList() {

    $.getJSON(serviceURL  + 'getDoctors.php',function(data){
    $('#employeeList li').remove();

    employees = data.items;
    $.each(employees, function(index, employee) {
        $('#employeeList').append('<li> <a href="DoctorDetails.html?id=' +    employee.id + '">' +
                                    '<h4> Dr. ' + employee.firstName + ' ' + employee.lastName + '</h4>' +
                '<p>' + employee.title + '</p>');
    });
    $('#employeeList').listview('refresh');
  });
     }
    <?php
    include 'config.php';
  $sql = "SELECT e.id, e.firstName, e.lastName, e.title, e.picture, count(r.id)  
 reportCount " .
"FROM employee e left join employee r on r.managerId = e.id " .
"GROUP BY e.id ORDER BY e.lastName, e.firstName";

    try {
$dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);  
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $dbh->query($sql);  
$MMC = $stmt->fetchAll(PDO::FETCH_OBJ);
$dbh = null;
echo '{"items":'. json_encode($MMC) .'}';
    } catch(PDOException $M) {
echo '{"error":{"text":'. $M->getMessage() .'}}';
    }

    ?>

这似乎很可能是跨站脚本,这就是为什么它被阻止的原因。

请记住,如果你从你的电脑上运行网站,并试图用javascript访问另一个域,它将无法工作,除非你使用JSONP(带有填充的Jason)。

参见以下内容:

  • 如何使用JSONP来克服XSS问题?
  • 这个跨域ajax请求是如何工作的?
  • http://www.w3resource.com/JSON/JSONP.php