Javascript 错误';缺少:在属性id'之后;使用jqueryajax函数时
在下面的代码中,我试图发送一个键值对,但总是得到错误:Javascript 错误';缺少:在属性id'之后;使用jqueryajax函数时,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,在下面的代码中,我试图发送一个键值对,但总是得到错误: “缺少:在属性id之后” 我认为造成问题的原因是: $(this).attr('id') 但我不知道为什么。我试图首先将$(this.attr('id')分配给一个变量,并将该变量放入ajax调用中,但这没有帮助。 我怎样才能解决这个问题? 谢谢大家! 这是一个语法错误。不能将函数调用的返回值用作属性名 但是,您可以在初始化对象后使用括号表示法中的返回值: fields = {}; fields[$(this).attr('id'
“缺少:在属性id之后” 我认为造成问题的原因是:
$(this).attr('id')
但我不知道为什么。我试图首先将$(this.attr('id')分配给一个变量,并将该变量放入ajax调用中,但这没有帮助。
我怎样才能解决这个问题?谢谢大家! 这是一个语法错误。不能将函数调用的返回值用作属性名 但是,您可以在初始化对象后使用括号表示法中的返回值:
fields = {};
fields[$(this).attr('id')] = '1';
使用{}语法声明对象时,只允许使用字符串(如{foo':1})或裸字符串({foo:1}) 你应该这样写:
var fields = {};
fields[$(this).attr('id')] = 1;
更改此行:
fields={$(this.attr('id'):“1”}代码>
为此:
fields=$(this.attr('id')||“1”代码>
如果你想要一个默认值
如果需要对象,请使用以下命令:
字段[$(this.attr('id')]=“1”
+1@Israel:也要注意数据类型之后的悬空逗号:“JSON”
。IE7和更早的版本认为这是一个语法错误,可能还有其他实现也会这样做,因为它在第三版规范中有点模糊(第五版清除了它;它是有效的)。细节:
var fields = {};
fields[$(this).attr('id')] = 1;