【问题标题】:How do I correctly include a dash in an object key in javascript? [duplicate]如何在 javascript 的对象键中正确包含破折号? [复制]
【发布时间】: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


【解决方案1】:
jQuery.post("http://mywebsite.com/", {"array-key": "hello"});

应该是正确的。如果这不起作用,则问题不在于您的请求。

【讨论】:

    猜你喜欢
    • 2021-09-15
    • 2018-07-12
    • 2012-08-31
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    • 1970-01-01
    • 2011-12-17
    • 2012-12-12
    相关资源
    最近更新 更多