vue-resource跨域请求的问题

比如你用vue-resource的get方法请求 https://news-at.zhihu.com/api/4/version/android/2.3.0

这个接口,会报‘Access-Control-Allow_Origin’ header。。。。错误。意思就是,人家服务端不接受你访问。

node.js的解决方案是,在工程的config文件夹下面,将index.js里面的代码,改为如下

proxyTable: {

'/api': {

target:'https://news-at.zhihu.com/api',

changeOrigin:true,

pathRewrite: {

'^/api':''

}

}

},

在main.js里面加入

Vue.prototype.HOST='/api'

然后就可以使用get方式请求了

this.$http.get('/api/4/version/android/2.3.0',{},{

}).then(function(res) {

this.$message(res.data.msg)

},function(error) {

console.log(error)

})

出现这种情况只有两种解决方案

1.在服务端加上 

//解决浏览器请求的跨域问题

response.setHeader("Access-Control-Allow-Origin","*");

2 前端做代理,上面的node.js解决方案就是代理思路。


参考了如下资料

https://segmentfault.com/a/1190000011072725

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容