我对此完全感到困惑。我有一个通过jquery ajax调用返回的对象。我可以看一下对象本身,它的属性是明确定义的。当我尝试实际访问这些属性时,它返回undefined。例如:
console.log("data: " + data + ", data['ID']: " + data['ID']);
在控制台中打印:
data: {"ID":"2"}, data['ID']: undefined
世界上有什么可能导致这种情况?
编辑:
仅仅因为很多人问过,它对data.ID做了同样的事情。所以这个:
console.log("data: " + data + ", data.ID: " + data.ID);
打印出来:
data: {"ID":"2"}, data.ID: undefined
答案 0 :(得分:3)
如果数据是一个对象而不是你看到的[object Object],但是你看到一个字符串,你的响应只是一个纯文本,所以你需要先解析它才能成为一个javascript对象。
使用jQuery,你可以这样做:
var dataAsObj = $.parseJSON(data)
答案 1 :(得分:2)
我认为你的数据是一个字符串,这就是为什么会发生这种情况。
试试这个:JSON.parse(data);