ajax 同步请求,获取的json数据为空,但是用了setTimeout,就有数据了,为什么呢??
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同步请求造成浏览器假死的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
Jquery progressbar通过Ajax请求获取后台进度演示
Jquery progressbar通过Ajax请求获取后台进度演示(Struts2)
jQuery Ajax async=>false异步改为同步时,解决导致浏览器假死的问题
今天小编就为大家分享一篇jQuery Ajax async=>false异步改为同步时,解决导致浏览器假死的问题,具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧
为jquery的ajax请求添加超时timeout时间的操作方法
主要介绍了为jquery的ajax请求添加超时timeout时间的操作方法,文中通过一段简单的代码给大家介绍jquery ajax超时设置方法,感兴趣的朋友跟随脚本之家小编一起看看吧
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


