在带有和不带有withCredentials
xhrField的chrome控制台中使用xhr请求会显示相同的请求标头属性。
如何将withCredentials映射到请求标头?
打字稿调用(Angular 2):
login(username : string, password : string) {
let data = {username: username, password: password}
return this.http.post(environment.apiEndpoint + 'login', data, { withCredentials: true })
.catch((error) => {
return Observable.throw(error.json());
});
}
注意:这是一个跨域通话,即使服务器发送了cookie,我也不会收到cookie(set-cookie标题字段)
答案 0 :(得分:0)
根据MDN:
XMLHttpRequest.withCredentials属性是一个布尔值,指示是否应使用Cookie,授权标头或TLS客户端证书等凭据进行跨站点访问控制请求。设置withCredentials对同站点请求没有影响。
这意味着在跨站点请求时,它会在同源请求中添加cookie,tls证书和Authorization标头:没有。它还允许X-site XHR设置cookie,而这通常不是这种情况。