点符号允许使用'来访问对象。无法弄清楚为什么会这样。我有以下成功函数,作为jQuery $ .ajax函数的一部分。
success: function(data){
console.log('data = ' + data);
console.log('data.president = ' + data.president);
console.log('data.adviser = ' + data.adviser);
}
奇怪的是,这导致以下浏览器日志:
data = {"president":1,"adviser":1}
data.president = undefined
data.adviser = undefined
我必须遗漏一些痛苦明显的东西。有人可以启发我吗?
答案 0 :(得分:6)
数据必须是要由点.
访问的对象。
它现在是一个字符串。
您需要使用例如:
data = JSON.parse(data);
答案 1 :(得分:4)
将dataType: "json"
设置为ajax选项,以便jQuery将您的字符串data
解析为javascript对象
答案 2 :(得分:0)
您定义数据元素有字符串,对象的属性需要在没有引号的情况下声明,如下所示:
data = {president:1,adviser:1}
在这种情况下,你得到了预期的结果
data.president = 1
data.adviser = 1