vue跨域的解决办法-
发布时间:08/01 来源:未知 浏览:
关键词:
header('Access-Control-Allow-Origin:*');//允许所有来源拜访 header('Access-Control-Allow-Method:POST,GET');//允许拜访的方式
这样就可以跨域要求数据了。
二、运用JQuery供给的jsonp (注:vue中引入jquery,自行baidu)
methods: { getData () { var self = this $.ajax({ url: 'http://f.apiplus.cn/bj11x5.json', type: 'GET', dataType: 'JSONP', success: function (res) { self.data = res.data.slice(0, 3) self.opencode = res.data[0].opencode.split(',') } }) } }
通过这种办法也可以解决跨域的题目。
三、运用http-proxy-middleware 代了解决(项目运用vue-cli足手架搭建)
例如要求的url:“http://f.apiplus.cn/bj11x5.json”
1、打开config/index.js,在proxyTable中添写如下代码:
proxyTable: { '/api': { //运用"/api"来取代"http://f.apiplus.c" target: 'http://f.apiplus.cn', //源地址 changeOrigin: true, //转变源 pathRewrite: { '^/api': 'http://f.apiplus.cn' //途径重写 } } }
2、运用axios要求数据时直接运用“/api”:
getData () { axios.get('/api/bj11x5.json', function (res) { console.log(res) })
通过这中办法去解决跨域,打包部署时还按这种办法会出题目。解决办法如下:
let serverUrl = '/api/' //当地调试时 // let serverUrl = 'http://f.apiplus.cn/' //打包部署上线时 export default { dataUrl: serverUrl + 'bj11x5.json' }
调试时定义一个serverUrl来替代我们的“/api”,最后打包时,只需要将“http://www.xxx.com”替代这个“/api”就可以了。
以上就是vue跨域的解决办法的细致内容,更多请关注 百分百源码网 其它相干文章!