-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でfirebugをチェックすると、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」dataTypeに注意してください。

次に、この小さな変更をサーバー側スクリプトに実装します。

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

つまり、PHPはjsonpリクエストに応答できるようになります。

于 2013-02-21T19:43:50.563 に答える