📜  axios 使用 cookie 发送请求 - CSS (1)

📅  最后修改于: 2023-12-03 15:13:35.207000             🧑  作者: Mango

使用 Axios 发送包含 Cookie 的请求

在使用 Axios 发送请求时,有时需要在请求头中包含 Cookie。本文将介绍如何使用 Axios 发送包含 Cookie 的请求,以及如何在请求中设置 Cookie。

发送包含 Cookie 的请求

发送包含 Cookie 的请求与普通的请求并没有太大的区别,只需要在请求头中添加 Cookie 即可。在 Axios 中,可以通过 headers 属性来设置请求头,例如:

axios.get('/api/user', {
  headers: {
    Cookie: 'token=123456'
  }
}).then(response => {
  console.log(response.data);
});

以上代码会发送一个 GET 请求到 /api/user,并在请求头中添加名为 Cookie,值为 'token=123456' 的头部。

设置 Cookie

有时需要在获取响应后设置 Cookie,以便在下次请求时携带该 Cookie。在 Axios 中,可以通过 withCredentials 属性来开启跨域请求时携带 Cookie 的功能。例如:

axios.get('https://example.com/api/user', {
  withCredentials: true
}).then(response => {
  console.log('Response', response.data);
  document.cookie = 'token=' + response.data.token;
});

以上代码会发送一个跨域 GET 请求到 https://example.com/api/user,并在获取响应后设置名为 token 的 Cookie。

需要注意的是,如果需要在发送请求时携带 Cookie,则该 Cookie 必须是此前通过 setCookie 或其他方式设置的 Cookie,否则将无法起到作用。

总结

使用 Axios 发送包含 Cookie 的请求非常容易,具体方法是在请求头中设置 Cookie 字段即可。如果需要在获取响应后设置 Cookie,则需要在请求中开启跨域请求时携带 Cookie 的功能,并在获取响应后设置 Cookie。如果还有其他问题,可以参考 Axios 的文档或在社区寻求帮助。