Javascript 拒绝设置不安全的标题“;曲奇;浏览器中出错,但请求成功
我用的是Angularjs。当我使用Javascript 拒绝设置不安全的标题“;曲奇;浏览器中出错,但请求成功,javascript,angularjs,Javascript,Angularjs,我用的是Angularjs。当我使用xhr.setRequestHeader()设置Cookie标头时,我在Chrome上遇到以下错误: Refused to set unsafe header "Cookie" 但是,Cookie包含在请求中并成功发送到服务器。我似乎已正确配置所有内容,以允许服务器和客户端上的Cookie头: 对于服务器,我有以下几点: Header add Access-Control-Allow-Credentials "true" 对于客户端,我指定以下内容: wi
xhr.setRequestHeader()
设置Cookie
标头时,我在Chrome上遇到以下错误:
Refused to set unsafe header "Cookie"
但是,Cookie
包含在请求中并成功发送到服务器。我似乎已正确配置所有内容,以允许服务器和客户端上的Cookie
头:
对于服务器,我有以下几点:
Header add Access-Control-Allow-Credentials "true"
对于客户端,我指定以下内容:
withCredentials
为什么会出现此错误?此“模板”适合我
打开开发人员工具并尝试运行
$.ajax
将setRequestHeader
放在beforeSend
方法中
摘自,和。如果你把饼干送过来,我想那就足够了。具有“跨域:正确, 证书:正确
解决了我遇到的“拒绝设置不安全的标题”Cookie“的问题。尽管警报消息仍然存在,但我已将cookie发送过来并返回正确的响应。您从Chrome中获得该错误,因为根据,setRequestHeader方法不应使用 根据规范: 这些都是禁止的,因此用户代理仍然完全控制它们
相反,对于Angular 1.x,通过使用
$cookies
,它将包含在后续的xhr
请求中。我猜浏览器会自行处理cookie头。嘿,谢谢,你这是什么意思?:)我知道Chrome不允许你设置内容长度。这是为了你。所以我猜饼干头可能也是一样的。@Mouser,我猜就是这样!从代码中删除setRequestHeader()
后,Cookie
头仍会传递到服务器。谢谢祝你好运@马克西姆斯:你是怎么解决这个问题的?你能发布你的代码吗?是的,一切正常,只是信息让人恼火
<?php
header('Content-Type: text/html; charset=UTF-8');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: *');
header('Access-Control-Expose-Headers: *');
header('Access-Control-Allow-Credentials: true');
?><!doctype html>
<html lang="en-US">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
</head>
<body>
<script defer="defer" src="https://code.jquery.com/jquery-git.js"></script>
</body>
</html>