【发布时间】:2016-03-05 14:43:41
【问题描述】:
当我尝试使用这样的代码时:
jQuery.post("http://mywebsite.com/", {
array-key: "hello"
});
我收到此错误:
Uncaught SyntaxError: Unexpected token -
我尝试用引号将键括起来,但没有任何反应。我想知道这是否是因为我在其他网站上犯了其他错误,或者因为这不是如何在对象的键中包含破折号。如果不是,我想知道该怎么做。提前致谢。
【问题讨论】:
-
仅供参考,这是一个对象,而不是数组。
I tried surrounding the key in quotation marks也应该可以正常工作。 -
键周围的引号将解决问题。话虽如此,我不会养成在键名中使用连字符的习惯。这只是不好的做法。
-
如果键也可以用作变量的名称,则只能使用不带引号的键。这意味着只有字母、数字和下划线;如果有连字符(破折号)或除下划线之外的任何其他标点符号,则需要引号。
-
@MikeBrant 这看起来像是 API 调用的客户端,因此 Nadroev 可能无法控制键名的选择......
-
这也意味着如果你想访问一个对象的属性,你需要使用
myObj['hyphenated-property],这很丑陋,应该避免。编辑我知道他没有使用客户端中的对象,但值得注意。
标签: javascript jquery arrays ajax