jsonp跨域请求,没反应
api:http://mylance.top/api/getHom...
api怎么看出来用跨域还是非跨域...
function refreshSwipe(data){
console.log(data);
}
function getSwipe(){
var
js = document.createElement('script'),
head = document.getElementsByTagName('head')[0];
js.src = 'http://mylance.top/api/getHomeInfo?callback=refreshSwipe';
head.appendChild(js);
}
跨域请求了一下,network里根本没有显示这个请求。
function success(text){
var banner = text;
console.log(banner);
}
function fail(status){
console.log(status)
}
let request = new XMLHttpRequest();
request.onreadystatechange = function(){
if (request.readyState === 4 && request.status === 200) {
return success(request.responseText);
}else{
return fail(request.status)
}
}
request.open('GET','http://mylance.top/api/getHomeInfo');
request.setRequestHeader('Accept','application/json');
request.send();
非跨域请求,显示错误XMLHttpRequest cannot load http://mylance.top/api/getHom... No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'file://' is therefore not allowed access.
network里status为200,响应数据不可用。
所以还是要用jsonp?那上面的代码错在哪里
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
用jsonp跨域请求,返回json格式是callback({...});而不是直接一个json,所以通过自己服务器的php或python调用再返回给前端吧
由下图明显可知,这个接口并不支持
JSONP
附
JSONP
的正确返回格式:补充:
可看下图:
最后,
ajax
请求须在服务器环境,单文件file://
打开是没法请求的