当我调用这段代码时:
console.log(data);
console.log(data.email);
我得到这个结果:
{"userName":"2","email":"2","firstName":"2","lastName":"2","isAdmin":"0","isEnabled":"1"} index.php:162
undefined
第一个 console.log(data);
输出正确。然后,我想访问 data
对象的 email
属性,为此我使用 console.log(data.email);
.但是,正如您在上面看到的,它表示它是“未定义的”。
为什么我不能访问此属性(或任何属性)?注意:我也试过 data['email']
也没有用。
最佳答案
我没有意识到 jQuery 不会自动将返回的 JSON 解析为对象。它只是一个 JSON 字符串。要修复,我只需要这样做:
data = JSON.parse(data);
跨浏览器:
data = $.parseJSON(data);
关于javascript - 无法访问 jQuery AJAX 调用中的对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19466819/