【发布时间】:2014-08-19 08:37:38
【问题描述】:
我的后端要求“Content-Type”请求标头完全是“application/json”。这是一个 CORS 请求,在 Chrome 中一切正常。确切的标题,来自开发者工具网络标签来源:
Content-Type: application/json
我在 AngularJS 中使用 $http.default.headers.post 进行了设置,它在 Chrome 中运行良好。但是它在 Firefox 中不起作用。 Firefox 会发送这个:
Content-Type: application/json; charset=UTF-8
我尝试通过以下方式更改标题:
- 设置 $http.default.headers(用于 .post、.common)
- 为一个请求设置自定义标头
- 使用 $http 拦截器
所有这些方法都适用于 Chrome,但不适用于 Firefox。 请求包含数据。
如果我一起删除“Content-Type”标头,它仍然会被发送,但它是:
Content-Type: text/plain; charset=UTF-8
(Chrome 和 Firefox 都会出现这种情况)。
这让我认为浏览器强制标头:) 如何在 Firefox 中规避这个问题?
【问题讨论】:
-
来自我的愚蠢问题:你不能让你的后端接受一个完全正常的 HTTP 标头吗?你永远不知道 Chrome 何时/是否突然决定也开始执行它。
-
后端不是我的——我使用的是 LimeSurvey RemoteControl API,它有点太敏感了。我可以在网络服务器中转换请求 - 我刚才做了,哪种解决了问题,但不是问题。
-
是的,我把它作为评论而不是出于这个原因的答案。
标签: angularjs firefox post http-headers content-type