vue-resource跨域问题
项目时我练习vue做的,所以是用的第三方接口,本地测试时用代理可以解决跨域问题,如下
proxyTable: {
'/api': { //使用"/api"来代替"https://zapi.tourzj.com"
target: 'https://zapi.tourzj.com', //源地址
changeOrigin: true, //改变源
pathRewrite: {
'^/api': 'https://zapi.tourzj.com' //路径重写
}
}
},
但是上传到自己的服务器上又出现跨域问题,百度说是定义一个全局的js,想问下,怎么定义?定义了之后难道要在每个页面引用?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
解决了,方法如下:
定义一个变量挂载到Vue上,写法:Vue.prototype.API_PROXY = 'https://bird.ioliu.cn/v1/?url=';
然后在请求的页面url地址写法:var url = this.API_PROXY + 'http://www.xxx.com';
最后axios.get(url).then(res=>{})
本地做开发的时候,借助的是
webpack-dev-server
里的代理做的,但是生产构建出来的包,肯定要用nginx
做转发,或者自己写个node
(服务端语言都行) 作为中间层都行~用axios吧。官方推荐的,而且跨域问题,通常都是设置代理,或者后台设置cors实现跨域