前几天做的一个功能 用js动态加载数据,今天打开页面发现 数据是正常获取了 但是js的显示程序却没有执行。
调试过程如下:
于是找到 发起 ajax 的位置 console.log 下数据 显示正常的obj对象,打印obj中的一个子对象 也返回正常,
obj 结构:
但 result.data.length 返回 竟然undfined的。
考虑是不是编码的问题,但是前几天还可以用啊,并没有改动文件。
于是打印 PHP要返回的数据
看到数组的键值从 1开始的 (前面console的时候没太注意这里,没想到会是这个问题) 于是想到是不是因为这个原因 。。。然后在PHP端把 结果用array_values 处理了一下
前台恢复正常。
中间问了度娘,问了google 均无果
总结:
JS对象(数组)中的的键值要从0开始 这太扯淡了 肯定能这样说
未经允许不得转载:开心乐窝-乐在其中 » jquery ajax 无法正确识别 PHP返回的 json 数据 问题