无法使用AXIOS检索JSESSIONID cookie

时间:2019-03-24 04:52:30

标签: javascript reactjs cookies cors axios

我正在尝试调用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);
        });

谢谢

1 个答案:

答案 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中设置,并随将来的请求自动发送到它们所属的域。