vue 已拿到数据,但控制台提示跨域
在请求第三方 API 时,network 可以拿到数据,但控制台提示跨域
(ps:$http === Axios 提前做了封装)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
在请求第三方 API 时,network 可以拿到数据,但控制台提示跨域
(ps:$http === Axios 提前做了封装)
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
跨域是不影响
http
请求的返回的,只不过你的js无法使用返回的数据了。。webpack vue-cli 配置跨域
proxyTable: {
'/api': {
}
}
跨域限制是浏览器出于安全考虑做的限制
如果只是开发环境需要跨域的话,可以关闭chrome的跨域限制,在命令行输入:
open -n /Applications/Google Chrome.app/ --args --disable-web-security --user-data-dir=/Users/你的用户名/MyChromeDevUserData/
生产环境的话,找后台做CORS
如果是要调用别人的api,就用JSONP吧,或者自己写个简单的服务器做代理
和题主一模一样的报错,这是因为你在用类似
Vue.prototype.$http = axios
方式定义axios的同时,还定义了Vue.use(Axios)
,这会导致打开页面的时候他会带一次空的头部去访问,导致上面的报错,同样的问题困扰了我好几天!!!解决办法就是:去掉后者(
Vue.use(Axios)
)就ok了。