最近在做一个项目,项目的后端是地址: https://github.com/wangyuanjun008/wyj-springboot-security.git
前端地址是 https://github.com/wangyuanjun008/wyj-vue-security.git ,使用的前端语言是vue,使用webpack构建vue-cli全家桶
在项目中需要用到axios与后端接口交互的时候,遇到了跨域的问题,浏览器报错如下:

axios跨域报错

axios跨域返回数据

能看到是有数据数据返回到前台的,说明前台没有接收到

解决方法:

进入你的vue项目下 -> config -> index.js,里面的dev对象下有一个proxyTable的属性,这个参数主要是一个地址映射表,可以帮助我们将复杂的url简化。

axios解决跨域

如果请求的地址是 http://127.0.0.1:8081/remote/1 ,使用proxyTable配置,请求的地址变为 /remote/1。在proxyTable中有个参数是changeOrigin,如果设置为true,那么本地会虚拟一个服务端接收你的请求并代你发送该请求,这样就不会有跨域问题了,当然这只适用于开发环境。

参考文档:https://vuejs-templates.github.io/webpack/proxy.html