Firefox不支持xhrPost中的Content-type标头

时间:2012-04-13 18:54:32

标签: firefox post dojo content-type request-headers

我正在尝试将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不会添加)。我的服务器设置为验证内容类型是'application / json'。因此,服务器拒绝该请求。

问题:

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

2 个答案:

答案 0 :(得分:2)

您的测试中可能存在错误。 Firefox还添加了您指定的Content-type标头。 IE / Chrome和Firefox之间的唯一区别是FF附加了下面的字符集信息。

Content-Type: application/json; charset=UTF-8

答案 1 :(得分:1)

我知道这个问题已经死了,但遇到类似的问题我发现了bug report

如果您正在寻找wisdom of the ancients,我希望这会有所帮助;)