-1

在我的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 上检查我的萤火虫时,ajax 响应什么都没有,它会触发一个错误。我错过了什么?

4

1 回答 1

0

按如下方式调用您的服务:

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

注意“jsonp”数据类型。

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

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

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

于 2013-02-21T19:43:50.563 回答