test.php 包括:
echo json_encode( array(
array("name"=>"John","time"=>"2pm"),
array("name"=>"2","time"=>"1242pm"),
array("name"=>"J231ohn","time"=>"2p213m"),
));
的jQuery :
$.get("test.php", function(data) {
$.each(data, function(n, val) {
alert(n + ': ' + val)
});
}, "json");
这是结果:
0: [object Object]
1: [object Object]
2: [object Object]
我做错了什么?
答案 0 :(得分:5)
尝试:
alert(n + ': name = ' + val.name + ' time = ' + val.time);
答案 1 :(得分:2)
我不知道php,但我猜你需要这样做,因为每个val都是一个json对象。
$.get("test.php", function(data) {
$.each(data, function(n, val) {
alert(n + ': ' + val.name + ' ' + val.time)
});
}, "json");
jsfiddle示例
答案 2 :(得分:2)
使用console.log(数据)从Firebug或Webkit中的控制台中查看JSON中的内容。
答案 3 :(得分:1)
从技术上讲,没什么。 'val'引用了对象,我怀疑它不是你想要的。您可能希望存储在每个数组中的值。因此,您可能希望访问数组键值,而不是警告'val':
alert(n + ': ' + val.name + ' ' + val.time)
答案 4 :(得分:0)
取决于您的浏览器,您可以调用val.toSource()
来溢出对象内容而不是其类型(这是.toString()的默认行为)
一个很好的,简写的方法是alert ([n, val.toSource() ]);
答案 5 :(得分:0)
使用.getJSON。尝试:
$.getJSON("test.php", function(data) {
$.each(data, function(n, val) {
alert(n + ': ' + val)
});
});