我正在使用Angularjs。当我设置Cookie标头时,xhr.setRequestHeader()在Chrome上出现以下错误:
Cookie
xhr.setRequestHeader()
Refused to set unsafe header "Cookie"
但是,该Cookie请求已包含在请求中,并已成功发送到服务器。我似乎已经正确配置了所有内容以允许Cookie服务器和客户端上的标头:
对于服务器,我有以下这些:
Header add Access-Control-Allow-Credentials "true"
对于客户,我指定了这些:
withCredentials
为什么会出现此错误?
您从Chrome浏览器中收到该错误,因为根据XHR规范,该setRequestHeader方法不应使用禁止的标头名称设置标头。
setRequestHeader
根据规范:
这些是禁止的,因此用户代理仍然可以完全控制它们。
相反,角1.x中,设置Cookie使用$cookies,它会被包括在后续xhr请求。
$cookies
xhr