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

Posted

技术标签:

【中文标题】Firefox 不支持 xhrPost 中的 Content-type 标头【英文标题】:Firefox does not honor Content-type header in xhrPost 【发布时间】: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”。因此,请求被服务器拒绝。

问题:

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

【问题讨论】:

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

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

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

谢谢。我们已经分析了太多次了,这不是一个错误。

以上是关于Firefox 不支持 xhrPost 中的 Content-type 标头的主要内容,如果未能解决你的问题,请参考以下文章

Dojo 小部件在响应 XhrPost 时返回时不呈现

Dojo dojo.rawXhrPost 和 dojo.xhrPost

使用 dojo.xhrPost 发布 JSON 字符串

linux火狐启动不了

为啥 Firefox 和其他应用程序不支持我的 Windows XP 设置? [关闭]

如何在 Firefox 中禁用媒体查询支持?