有了个api,不知道用跨域还是非跨域,都试了下,都有问题,获取不到数据。

poi_rs 2016-11-24 08:43:26
api: http://mylance.top/api/getHomeInfo


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,响应数据不可用。

查了资料,越查越懵逼,有说json格式错误,要去服务器里改一下文件,有说ajax请求须在服务器环境。
但是我用别的api用第二段代码是可以获取到数据的。那现在到底是什么问题
...全文
844 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Go 旅城通票 2016-11-26
  • 打赏
  • 举报
回复
你这个地址就不是jsonp数据,json数据用ajax会跨域错误,不是已经提示很清楚了,跨域错误
poi_rs 2016-11-25
  • 打赏
  • 举报
回复
引用 2 楼 u011824309 的回复:
第一部分,你并没有发送请求,http://mylance.top/api/getHomeInfo这里面得到的数据不是json格式的
只能在服务器里把它转为json格式?
IMyxuan 2016-11-25
  • 打赏
  • 举报
回复
第一部分,你并没有发送请求,http://mylance.top/api/getHomeInfo这里面得到的数据不是json格式的

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧