4

我正在尝试将 json 字符串发布到 REST 服务。正在使用以下代码:

dojo.xhrPost( {
    url: REST_URL,
    postData: jsonData, 
    handleAs: "json",
    headers: {"Content-Type": "application/json"},    
    load: function(response, ioArgs) { 
    alert(response);
  },    
  error: function(response, ioArgs) {
        alert(response);
    }
  });

我使用 fiddler 拦截浏览器(IE/Firefox)发送的请求。当我从 IE 提交请求时,fiddler 显示 Content-type 标头设置为“application/json”。

但是,当使用 Firefox 提交相同的请求时,Content-type 标头在请求标头中不可见(意味着 Firefox 未添加)。我的服务器设置为验证内容类型为“应用程序/json”。因此,请求被服务器拒绝。

问题:

  1. 我现在该怎么做才能在 Firefox 中完成这项工作
  2. 最重要的是,为什么 firefox 不将 Content-type 的标头添加到请求标头中?环境详情:操作系统:Win7 32 位,浏览器:IE8/9 & Firefox 11
4

2 回答 2

2

你的测试可能有错误。Firefox 还会添加您指定的 Content-type 标头。IE/Chrome 和 Firefox 之间的唯一区别是 FF 附加字符集信息,如下所示。

Content-Type: application/json; charset=UTF-8
于 2012-04-15T08:07:11.620 回答
1

我知道这个问题已经死了,但是有一个类似的问题我发现了这个错误报告

如果您正在寻找古人的智慧,我希望这会有所帮助;)

于 2015-12-02T16:16:28.137 回答