请求标头字段访问-控制-允许标头不允许访问-控制-允许标头

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (26)

我试图用POST请求将文件发送到服务器,但是当它发送时会导致错误:

Request header field Content-Type is not allowed by Access-Control-Allow-Headers.

因此我搜索了错误并添加了标题:

$http.post($rootScope.URL, {params: arguments}, {headers: {
    "Access-Control-Allow-Origin" : "*",
    "Access-Control-Allow-Methods" : "GET,POST,PUT,DELETE,OPTIONS",
    "Access-Control-Allow-Headers": "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"
}

然后我得到错误:

Request header field Access-Control-Allow-Origin is not allowed by Access-Control-Allow-Headers

所以我在谷歌上搜索了这个问题,唯一类似的问题是提供了一半的答案,然后结束了话题。我应该添加/删除哪些标头?

提问于
用户回答回答于

服务器(将POST请求发送给)需要包括Access-Control-Allow-Headers标题(等)将它们放入客户的请求中没有效果。

这是因为它由服务器指定它接受跨源请求(并且它允许Content-Type(请求头等等)--客户端不能自行决定给定的服务器应该允许CORS。

用户回答回答于

默认情况下,角内容类型为application/json,它试图发送选项请求。尝试覆盖角默认标头或允许Access-Control-Allow-Headers在服务器端。这是一个角度样本:

$http.post(url, data, {
    headers : {
        'Content-Type' : 'application/x-www-form-urlencoded; charset=UTF-8'
    }
});

扫码关注云+社区