$ .ajax响应为空?

时间:2013-02-21 17:27:10

标签: php json

在我的javascript中,

$.ajax({
                    type: 'GET',
                    url: 'http://133.333.33.33/reporting/summary_table.php?loc_id='+locid+'&loc_type='+loctype+'',
                    async: false,
                    success: function(data) {
                        alert(data);
                    },
                    dataType: 'json'
                });

在我的服务器端,我有这个,

$result = mysql_query($query);
$rows = array();
while ($row = mysql_fetch_assoc($result)) {
    $rows[] = $row;
}
echo json_encode($rows);

当我在FF上检查我的firebug时,ajax响应什么都没有,它会发出错误。我错过了什么?

1 个答案:

答案 0 :(得分:0)

按如下方式致电您的服务:

$.ajax({
url: 'http://yourserver.com/reporting/summary_table.php?loc_id='+locid+'&loc_type='+loctype+'',
success: function(data) {
alert(data);
},
dataType: 'jsonp'
});

注意“jsonp” dataType。

然后在服务器端脚本上实现这个小改动:

$jsonp = json_encode($rows);
if(isset($_GET["callback"])) $jsonp = $_GET["callback"]."($jsonp)";
echo $jsonp;

所以你的php它能够回答jsonp请求。