douzhuo1853
2015-01-06 07:02
浏览 121
已采纳

未捕获的TypeError:无法读取属性JSON

I have JSON PHP Output below

{"data_0":{"data_1":{"A":0,"B":0},"data_2":{"C_C":"CC","D_D":"DD"}}}

In jQuery have code :

$.ajax({
    url : 'process.php',
    dateType: 'json',
    type: 'POST',
    data : {val : data_val},
    success: function(data){
        $(data.data_0.data_2).each(function(key, value) {
        alert(key + " " + value);
        });

But when run I received error : Uncaught TypeError: Cannot read property 'data_2' of undefined.

How to fix it ?

Thanks you so much.

图片转代码服务由CSDN问答提供 功能建议

我有JSON PHP输出

  {“data_0”  :{ “_1”:{ “A”:0, “B”:0}, “_2”:{ “C_C”: “CC”, “D_D”: “DD”}}} 
  <  / pre> 
 
 

在jQuery中有代码:

  $ .ajax({
 url:'process.php',
 dateType:'json  ',
类型:'POST',
 data:{val:data_val},
 success:function(data){
 $(data.data_0.data_2).each(function(key,value){\  n alert(键+“”+值); 
}); 
   
 
 

但是运行时我收到错误:未捕获TypeError:无法读取属性'data_2' 未定义。

如何解决?

非常感谢你。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

3条回答 默认 最新

  • douzhuan1467 2015-01-06 07:06
    最佳回答

    change this:

    dateType: 'json',
    

    to this;

    dataType: 'json',
    

    You have a type it should be dataType not dateType.


    Also you should use $.each() utility method of jQuery instead of .each():

    $.each(data.data_0.data_2, function(key, value) {
        alert(key + " " + value);
    });
    

    $.each() docs:

    The $.each() function is not the same as $(selector).each(), which is used to iterate, exclusively, over a jQuery object. The $.each() function can be used to iterate over any collection, whether it is an object or an array. In the case of an array, the callback is passed an array index and a corresponding array value each time.

    评论
    解决 无用
    打赏 举报
查看更多回答(2条)

相关推荐 更多相似问题