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 dojo.rawXhrPost 和 dojo.xhrPost