Javascript Json数组对象未定义值
我正试图通过ajax请求从php获取一个对象数组 到目前为止一切正常,我在javascriptJavascript Json数组对象未定义值,javascript,php,jquery,json,ajax,Javascript,Php,Jquery,Json,Ajax,我正试图通过ajax请求从php获取一个对象数组 到目前为止一切正常,我在javascript{“ID:“9348”,“Name:“Mark”}中的ajax响应中得到了json格式的数组 但是现在如果我尝试使用alert(数据[“ID]”)获取对象 $.ajax({ url:'loaddata.php', 数据类型:'json', 成功:功能(数据){ 警报(数据['ID']); }, 错误:函数(thrownError){ 警报(“错误”); } });从您发布的php代码中,似乎返回了一个
{“ID:“9348”,“Name:“Mark”}
中的ajax响应中得到了json格式的数组
但是现在如果我尝试使用alert(数据[“ID]”)获取对象
$.ajax({
url:'loaddata.php',
数据类型:'json',
成功:功能(数据){
警报(数据['ID']);
},
错误:函数(thrownError){
警报(“错误”);
}
});
从您发布的php代码中,似乎返回了一个数组。因此,您必须按数组索引选择数据集:
警报(数据[0]['ID']);
您的json可能如下所示:
[{“ID”:“9348”,“Name”:“Mark”},…]
您是双重编码
in-loop: $a[] = json_encode (... // this makes $a an array of json-strings
outside: echo json_encode($a ... // this echos an JSON representation of an array of json-strings
这不起作用,只需生成/收集数组,然后在最后进行一次json\u编码
- 除非您真的希望JSON对象/数组中包含JSON字符串
console.dir(data)
这样你就可以看到对象的真实外观,这可能会有所帮助。@ssola如果真的没有“ID”“没有任何区别的财产;如果有,那么操作代码将起作用。@Pointy他已经说过返回一个ID属性为的对象。。。所以应该在那里。显然,如果完整的响应是错误的,那么这是另一个问题。@ssola如果真的是这样,那么就没有必要问这个问题,因为OP中的代码可以工作。如果正确复制并粘贴json,那么json无效:{“ID:”9348,“Name:“Mark”}。
有一个“
ID.Protip后缺失:使用浏览器的调试器(每个浏览器都有一个调试器)。它真的很有用