开发中 cookie 踩过的坑

背景:

使用vue-cli开发前端项目。后台的接口地址不在根路径下(例如在http://domain:8080/subpath/),所有接口有登录判断。

本地开发中遇到了一个很奇怪的问题,可以正常登录,但是请求其他接口时就会提示未登录,本地联调、测试又没问题。最后不得已,只有在开发中关闭登录判断。

原因

后来无意间发现set-cookie中的path不是根路径,而是那个子路径(/subpath),而本地开发中接口又使用了(不加子路径的)相对路径,只是在代理中直接将target的值设置成了http://domain:8080/subpath/。总而言之就是本地发出的请求中不包括/subpath导致虽然本地有cookie但是并没有发送到服务器。详见

解决方案

在开发中给所有请求添加一个子路径(/subpath)的baseUrl就可以了。

你可能感兴趣的:(踩过的坑)