一尘不染

拒绝在浏览器中设置不安全的标头“ Cookie”错误,但请求成功

angularjs

我正在使用Angularjs。当我设置Cookie标头时,xhr.setRequestHeader()在Chrome上出现以下错误:

Refused to set unsafe header "Cookie"

但是,该Cookie请求已包含在请求中,并已成功发送到服务器。我似乎已经正确配置了所有内容以允许Cookie服务器和客户端上的标头:

对于服务器,我有以下这些:

Header add Access-Control-Allow-Credentials "true"

对于客户,我指定了这些:

withCredentials

为什么会出现此错误?


阅读 703

收藏
2020-07-04

共1个答案

一尘不染

您从Chrome浏览器中收到该错误,因为根据XHR规范,该setRequestHeader方法不应使用禁止的标头名称设置标

根据规范:

这些是禁止的,因此用户代理仍然可以完全控制它们。

相反,角1.x中,设置Cookie使用$cookies,它会被包括在后续xhr请求。

2020-07-04