Vue写demo,测试跨域请求出错,'Access-Control-Allow-Origin'
想利用vue+v2ex的开放api来写demo,在测试跨域请求json数据时遇到问题,用gulp的本地服务器来进行测试,本地请求json文件没有问题,但是V2EX的就不行了,报下面的错误
用的是CORS,对前端跨域的实现不是特别清楚,看书上的例子是说写绝对路径就可以
var xhr = new XMLHttpRequest();
xhr.open("get", "https://www.v2ex.com/api/topics/hot.json", false);
xhr.send(null);
if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304) {
alert(xhr.responseText);
var div = document.createElement('div');
div.innerHTML = xhr.responseText;
document.body.appendChild(div);
alert(allHeaders);
} else {
alert("Request was unsuccessful: " + xhr.status);
}
求解决方案,谢谢了。还有就是gulp搭建的本地服务器或是vue的本地服务器,有没有办法设置Access-Control-Allow-Origin
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
单纯本地自己做 Demo 用可以用这个 Allow-Control-Allow-Origin: * 扩展,它会帮你解决跨域问题。
我记得Chrome有个加跨域头的插件
前段时间写某个东西的时候确实是遇到过类似题主所说的情况。
至于楼主所要求的前端跨域实现的话,建议用
JSONP
。以我的认识,前端没有任何的方法可以将这个
json
里的内容获取到,需要借助于后台的帮助,比如node
,写ajax
请求自己写的node
代码,在node
中去请求这个网站提供的API
利用这种方案来解决吧,关于跨域可看看这个。同时欢迎来到韩庄乡男子电力职业技术学院交流前端学习!
可以在webpack配置时配置下代理属性
1单纯get请求可以尝试jsonp
2别人的服务器你是决定不了跨域限制的,所以可以自己搭建一个中转服务器,node来做这件事很适合