【问题标题】:Firefox does not honor Content-type header in xhrPostFirefox 不支持 xhrPost 中的 Content-type 标头
【发布时间】:2012-04-26 03:55:17
【问题描述】:

我正在尝试将 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. 最重要的是,为什么火狐不将 Content-type 的标头添加到请求标头中? 环境详情:操作系统:Win7 32 位,浏览器:IE8/9 & Firefox 11

【问题讨论】:

  • 这通常有效。你能链接到显示问题的实际页面吗?
  • 这是一项内部开发活动。我将尝试在其他地方重现相同的内容并共享代码。谢谢。

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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 谢谢。我们已经分析了太多次了,这不是一个错误。
    猜你喜欢
    • 1970-01-01
    • 2012-09-11
    • 2019-05-24
    • 2018-05-12
    • 2018-06-20
    • 2018-11-10
    • 2018-07-09
    • 1970-01-01
    • 2019-04-15
    相关资源
    最近更新 更多