发布jQuery和AJAX问题

时间:2012-11-19 15:16:14

标签: php jquery ajax json

在名为test.html的页面上,我想通过jquery ajax从名为test2.php的页面中检索一些JSON数据。

以下代码不起作用

的test.html:

$.ajax({ 
    url:"test2.php",
    type:"POST",
    dataType: "json",
    success: function(data){
        alert(data.b.d);
    }
});

test2.php:

<?php
    $c= '{"a":{"d":6994,"e":20003,"f":7968,"g":12505,"h":6814},"b":{"d":10623,"e":3404,"f":405,"g":17066,"h":24219}}';
    echo $c;
?>

3 个答案:

答案 0 :(得分:0)

您的test2.php不包含正确的标头。刚刚添加此内容

header('Content-type: application/json');

答案 1 :(得分:0)

我建议使用像Firebug这样的JS调试工具 检查您的请求是否返回有效的回复。

答案 2 :(得分:0)

如果您没有随请求发送任何数据,则可能不需要使用POST。你可以改为GET。甚至还有一种有用的速记方法:

$.get("test2.php", function(data) {
    // handle your data here
}, 'json'); 

test2.php你正在艰难地做事。而不是尝试构建JSON字符串,只需构建要发送到客户端的数据结构。然后使用json_encode()对其进行编码。您应该发送JSON内容类型标头,以便jQuery知道如何解码数据:

$c = array(
    'a'=>array(
        'd' =>6994,
        'e' => 2003,
        'f' => 7968,
     )
    // and so on...
);
header('content-type: application/json');
echo json_encode($c);