【问题标题】:Firefox returning incorrect JSON using JQuery [closed]Firefox 使用 JQuery 返回不正确的 JSON [关闭]
【发布时间】:2015-06-05 08:13:44
【问题描述】:

我正在尝试向 API 端点发帖。它似乎可以在 safari 和 chrome 中工作,甚至 ie。但是firefox似乎想在json字符串的开头和结尾添加双引号。我不知道这对大多数社区来说是一个大问题,但我在截止日期前,这是唯一让我无法达到目标的事情。

    console.log(JSON.stringify($('FooObject').serializeObject()));

这会返回

    "{"key":"value"}"

我需要

    {"key":"value"}

有什么建议吗?我已经在网上拖了大约 3 个小时,没有骰子。

请客气,我不经常做 js,我经常做网络和安全,这是我需要解决的边缘情况。

提前谢谢你。

【问题讨论】:

  • 它没有添加任何东西。它只是一个控制台显示。引号实际上并不存在。不要仅仅依靠控制台输出来确定您是否有错误。
  • 为了确定,请将[0] === "{" 添加到您的.stringify() 呼叫的末尾。如果是true,那么第一个字符是{,而不是"console.log(JSON.stringify($('FooObject').serializeObject())[0] === "{");
  • 我确实对此进行了测试,结果确实如此。现在可以了。这是一个 API 错误。感谢您的帮助@lye 鱼

标签: javascript jquery ajax firefox xmlhttprequest


【解决方案1】:

如果双引号显示在 Firefox 控制台中,那么引号只是表示它是一个字符串。

【讨论】:

  • 我明白,但这不允许它保存它。甚至 JSON Lint 也认为它是格式错误的 json。
  • 我确实对此进行了测试,结果确实如此。现在可以了。这是一个 API 错误。感谢您的帮助@wonderheart
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-22
  • 2019-04-30
  • 1970-01-01
  • 2012-09-04
相关资源
最近更新 更多