乐趣区

axios跨域请求默认不携带cookie

 最近开发一款前后端分离的应用,后端接口全部完成,正在对接的时候发现死活登录不上。前端是本地 server,跑在 localhost 上,后端接口部署在测试服务器上。后端已经允许了跨域,接口也能跑通,但是就是登录不上。而且接口的表现十分奇怪,request headers 里显示一个感叹号 +Provisional headers are shown。如下图:![图片描述][1]

由于登录不上,怀疑是否是 cookie 未携带,但是无论如何操作,chrome 面板总是只显示这 4 个 header。尝试用 QQ 浏览器打开查看 header,感叹号 +Provisional headers are shown 没有了,显示了实际的 request headers。如下图:![图片描述][2]

发现确实没有携带 cookie。查阅 axios 文档,配置项有一个 withCredentials,表示跨域请求时是否需要使用凭证,默认值为 false。即 axios    在发起跨域时默认不携带 cookie,将 withCredentials 设置为 true 即可正常携带 cookie。
退出移动版