vue实现跨域的方法分析

vue实现跨域的方法分析

在请求的资源上没有“访问控制允许源”标头。因此,“:8081”是不允许访问的。

出现这个报错就说明,浏览器限制了跨域,需要设置跨域

一、后台更改header

header('Access-Control-Allow-Origin:*');//允许所有来源访问 header('Access-Control-Allow-Method:POST,GET');//允许访问的方式

二、使用JQuery提供的jsonp需要vue中引入jquery,不是今天讲的重点

methods: { getData () { var that = this $.ajax({ url: 'yoururl', type: 'GET', dataType: 'JSONP', success: function (res) { that.data = res.data; } }) } }

三、使用vue-cli脚手架搭建项目时候的proxyTable解决跨域

在config目录下的index.js的proxyTable配置:

第一种:

proxyTable: { '/api': { //使用"/api"来代替"http://v.juhe.cn/toutiao/index" target: 'http://v.juhe.cn/toutiao/index', //源地址 changeOrigin: true, //改变源 pathRewrite: { '^/api': '' //路径重写 } } },

this.axios.post("/api?type=keji&key=yourkey").then(res => { console.log("api:"+res); this.kjnews = res.data.result.data; });

注意:路径重写后面是空的不然请求不成功,最后配置完之后还要npm run dev重启一下

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/eb8a1a6d7f03b98a50e74bd9440e1215.html