我需要一些绝望的帮助。我已经在这里待了4个小时,而且我已经筋疲力尽了。:/这是我的情况:
我有一个 Javascript 应用程序正在向外部站点发出 POST 请求(使用 jQuery $.post)。在外部站点上,我让 Apache Camel 与 Jetty 一起运行以将其公开给网络。我用 Camel 编写的 Web 服务需要所有请求的 JSON 数据。例如,一个请求需要一个 id,所以我发送它{"id": 10}
。
这是我的问题:它不适用于 Javascript。我有一些不同的工具可以为我发送帖子请求(比如浏览器的海报扩展)。如果我使用 Poster 并将 body 设置为{"id": 10}
,它工作得很好。我在服务中得到了那个确切的字符串。
但是,如果我从 Javascript 发布,我会得到不同的东西。发布 JSON 对象会给我的服务端字符串“id=10”。(这种情况没问题,但我最终需要实际的 JSON 对象。)如果我对 JSON 对象进行字符串化,我得到 JSON 字符串,只有所有字符都被转义。(例如“%7Bid%33...”)。
我发誓我已经尝试了所有可能的方法来发布数据,但我要么得到奇怪的已经解析的 JSON,要么得到转义的字符串(或者什么都没有)。有什么方法可以让 Javascript 不解析 JSON 对象并发送它(就像我的发布工具一样)?如果没有,是否有一种安全、有效的方法来取消转义我得到的 JSON 字符串?
我真的很感激任何帮助。