我正在尝试调用API对用户进行身份验证。得到200个成功响应,但没有得到JSESSIONID cookie作为响应。
axios.defaults.withCredentials = 'true';
axios.defaults.crossDomain = 'true';
axios.defaults.headers.post['Content-Type'] = 'application/json';
axios.defaults.headers.post['withCredentials'] = 'true';
const data = {
username: this.state.user,
credential: this.state.pass
}
axios.post('http://3.122.7.162:5000/v60/admin/session', data)
.then(response => {
console.log("response");
console.log(response);
})
.catch(error => {
console.log("error");
console.log(error);
});
谢谢
答案 0 :(得分:0)
$articles = $subscription->type->articles()->wherePivot('size', '=', 'M');
和XMLHttpRequest
(浏览器中的内置HTTP请求库)不会在其响应对象中公开有关cookie的信息。
通过直接读取fetch
标头甚至无法使用,因为它是a forbidden response header。
读取Cookie数据的唯一方法是通过Set-Cookie
,但这仅提供有关相同原始Cookie的信息。
没有直接的方法可以使用Ajax方法从跨域cookie获取数据。唯一的方法是更改服务器端代码,以便它通过JavaScript可以读取的另一条路径(例如,在响应正文中)返回cookie数据的副本。
这不会阻止您使用 cookie。除非禁用第三方cookie,否则它们仍将在浏览器的cookie jar中设置,并随将来的请求自动发送到它们所属的域。