axios 允许跨域携带 cookie

【前言】最近开发一套后台管理系统,需要使用cookie来做登录的验证过程。由于有三套后台共用一套登录页面,所以我在 /login时,跳转页面 window.location.href="http://192.168.3.54:8086/report";,登录成功时会返回我的本地IP服务地址,同时会携带一些参数,接下来我会将这些参数保存到 cookie中。

【注】cookie是这样设置 path 的。(path 默认是 /

  setCookie(name, value, day){
    if(day !== 0){
      var expires = day * 24 * 60 * 60 * 1000;
      var date = new Date(+new Date()+expires);
      document.cookie = name + "=" + escape(value) + ";expires=" + date.toUTCString() + ";path=/report;";
    } else {
      document.cookie = name + "=" + escape(value) + ";path=/report;";
    }
  },
火狐浏览器存储的cookie

【注】设置 axios 允许携带 cookie,默认是不允许的

如下图所示,之前只加了 2 处的代码,请求接口时并没有携带cookie数据。后来新增 1 处的代码,请求接口时才带上了 cookie 数据。
代码如下:axios.defaults.withCredentials = true;

axios关键代码

火狐浏览器成功携带cookie数据请求接口

你可能感兴趣的:(axios 允许跨域携带 cookie)