拒绝在浏览器中设置不安全的标题"Cookie"错误但请求成功

Max*_*kyi 14 javascript angularjs

我正在使用Angularjs.当我设置Cookie标题时,xhr.setRequestHeader()我在Chrome上遇到以下错误:

Refused to set unsafe header "Cookie"
Run Code Online (Sandbox Code Playgroud)

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

对于服务器我有这些:

Header add Access-Control-Allow-Credentials "true"
Run Code Online (Sandbox Code Playgroud)

对于客户我指定这些:

withCredentials
Run Code Online (Sandbox Code Playgroud)

为什么会出错?

Sea*_*mus 9

您从Chrome中收到该错误,因为根据XHR规范,该setRequestHeader方法不应设置带有禁止标头名称的标头.

根据规格:

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

相反,对于Angular 1.x,通过使用设置cookie$cookies,它将包含在后续xhr请求中.