- 技术栈为:webpack+vue+express,程序直接在开发环境下运行没有问题。然后打算将前后端代码分离,并将项目配置到生产环境下,所以webpack直接打包到dist目录下,然后将index.html和static目录放到了nginx的静态目录中,访问: http://localhost ,可以看到登录界面,但是执行登录却发出了一条options请求,并返回了204 No Content。
- 问题是:为什么没有出现登录的post请求,而只有options请求?如何处理这种前后端分离的跨域问题。
- 已有的处理:前端使用的axios网络库,并已经加入了 axios.defaults.withCredentials = true; ;后端使用了cors库,代码为:app.use(cors({credentials: true}));
- 问题截图如下:
自己更新下。
webpack跨域的问题已解决。
解决方案:前端axios部分必须在axios引入的地方开启 axios.defaults.withCredentials = true;,
后端部分没有使用vue-cli推荐的proxyTable方案,而使用了cors库
cors具体配置为: