XMLHttpRequest.withCredentials 深藏阁楼爱情的钟 2022-03-09 08:01 200阅读 0赞 `XMLHttpRequest.withCredentials`属性是一个布尔值,表示跨域请求时,用户信息(比如 Cookie 和认证的 HTTP 头信息)是否会包含在请求之中,默认为false,即向 [example.com][] 发出跨域请求时,不会发送 [example.com][] 设置在本机上的 Cookie(如果有的话)。 如果需要跨域 AJAX 请求发送 Cookie,需要withCredentials属性设为true。注意,同源的请求不需要设置这个属性。 var xhr = new XMLHttpRequest(); xhr.open('GET', 'http://example.com/', true); xhr.withCredentials = true; xhr.send(null); 为了让这个属性生效,服务器必须显式返回Access-Control-Allow-Credentials这个头信息。 Access-Control-Allow-Credentials: true withCredentials属性打开的话,跨域请求不仅会发送 Cookie,还会设置远程主机指定的 Cookie。反之也成立,如果withCredentials属性没有打开,那么跨域的 AJAX 请求即使明确要求浏览器设置 Cookie,浏览器也会忽略。 注意,脚本总是遵守同源政策,无法从document.cookie或者 HTTP 回应的头信息之中,读取跨域的 Cookie,withCredentials属性不影响这一点。 [example.com]: http://example.com
还没有评论,来说两句吧...