Javascript Dot Notation =未定义

时间:2016-03-08 15:25:14

标签: javascript jquery ajax syntax

点符号允许使用'来访问对象。无法弄清楚为什么会这样。我有以下成功函数,作为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

我必须遗漏一些痛苦明显的东西。有人可以启发我吗?

3 个答案:

答案 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