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里面的文件,所以必须重启才能看效果!!!)就能成功接收到数据

只用了第二种,亲测有效

 

posted @ 2018-11-21 16:00  Alyson.fu  阅读(2237)  评论(0编辑  收藏  举报