ajax 同步请求,获取的json数据为空,但是用了setTimeout,就有数据了,为什么呢??

shx0713 shx0713 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
function load(src){
$.ajax({
async: false,
url: src,
type: "GET",
dataType:"json",
success: function(data){
var length = data.length;
for(var i = 0; i < length; i++)
{
var name = data[i].name;
var line = data[i].line;
var center = data[i].center;
}
},
error: function(XMLHttpRequest,textStatus,errorThrown){
alert(src+" XMLHttpRequest.status="+XMLHttpRequest.status+
" XMLHttpRequest.readyState="+XMLHttpRequest.readyState+
" textStatus="+textStatus);
},
});
}

function ff(){
//load(url);
setTimeout(function(){load},1000); //如果直接load,取出的data为空,所以会出现parserError的错误。而用了setTimeout,data就有数据了。。。。为什么呢????
}


我的问题有两个:1.为什么用了setTImeout就能取到数据呢?如果我不想用setTimeout,而且依然是同步请求,该怎样做呢??
...全文

相关推荐

解决js ajax同步请求造成浏览器假死的问题

下面小编就为大家分享一篇解决js ajax同步请求造成浏览器假死的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

weixin_38656662

Jquery progressbar通过Ajax请求获取后台进度演示

Jquery progressbar通过Ajax请求获取后台进度演示(Struts2)

莫川

jQuery Ajax async=&gt;false异步改为同步时,解决导致浏览器假死的问题

今天小编就为大家分享一篇jQuery Ajax async=>false异步改为同步时,解决导致浏览器假死的问题,具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧

weixin_38632006

为jquery的ajax请求添加超时timeout时间的操作方法

主要介绍了为jquery的ajax请求添加超时timeout时间的操作方法,文中通过一段简单的代码给大家介绍jquery ajax超时设置方法,感兴趣的朋友跟随脚本之家小编一起看看吧

weixin_38654415

JQuery Ajax执行跨域请求数据的解决方案

今天前端因为需要ajax调用两个不同的项目,请求域不一样,所以涉及ajax跨域的问题 ,其实很简单,具体如下 原来的ajax请求如下: $.ajax({ type:"post", url:platformUrl +"/security/modifyPwd.do", data:$('#updatepwdform').serialize(), dataType:"json", success:function(data){ $("#updatepwd_btn").click(); $.toast("修改成功,系统即将退出,请重新登录",1500); }, error: fu

weixin_38728624
评论 5
收藏 已收藏
分享
返回顶部
shx0713
JavaScript 87,984 成员 224,681 内容