vue-cli 配置proxyTable解决 axios 跨域问题,实现请求接口数据


通过配置proxyTable,可解决axios跨域问题,从而不用后台改接口,实现请求接口数据 。

百度了很多方法,综合了一下有以下几种:

第一种:

在服务器配置(关键代码) 

response.setHeader("Access-Control-Allow-Origin", "*");//允许其他域名访问
response.setHeader("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS" );//响应类型
response.setHeader("Access-Control-Allow-Headers","x-requested-with,content-type");//响应头设置

在main.js里面添加

axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'

此方法没尝试,只是总结了一下

第二种:

通过配置proxyTable (项目的config文件夹下的index.js的dev: {....}里面)

target:‘这里写的是以http://或者https://开头的域名,如:https://www.baidu.com/ ’

然后在main.js里面直接调用

这里我get请求访问的域名就会是https://www.baidu.com/StairClassUrl/GetColumn

注意  这里定义的全局属性baseUrl 必须和 proxyTable 里面的 pathRewrite 定义的名称一致。

如果不一致还是会报错

然后关闭项目,重启(因为修改了config里面的文件,所以必须重启才能看效果!!!)就能成功接收到数据

只用了第二种,亲测有效

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM