关于javascript中使用ajax时,执行顺序的问题
我写了个方法,结构大概如下,总共就3步,----------------------------------------------------1.vardata={};...
我写了个方法,结构大概如下,总共就3步,
----------------------------------------------------
1.var data = {};
2.getDataFromServer({ //从远程服务取出数据
success:function(result) { //如果成功
data = result; //将数据赋给data
},
error:function(error){ //如果失败,什么都不做
}});
3.alert(data);//显示结果
---------------------------------------------------
可是,当我运行程序后,我发现,取出数据成功了,但是没等值设到data里,
程序就先运行了alert,请问给位高手,这种问题应该怎么解决? 展开
----------------------------------------------------
1.var data = {};
2.getDataFromServer({ //从远程服务取出数据
success:function(result) { //如果成功
data = result; //将数据赋给data
},
error:function(error){ //如果失败,什么都不做
}});
3.alert(data);//显示结果
---------------------------------------------------
可是,当我运行程序后,我发现,取出数据成功了,但是没等值设到data里,
程序就先运行了alert,请问给位高手,这种问题应该怎么解决? 展开
3个回答
展开全部
ajax是一个异步的操作,虽然你把alert放到最后,但是你不明白那个success函数却是在最后执行的,所以 你应该将alert放到success里面,像这样
success:function(result) {
data = result;
alert(data);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你是单纯用JS写的
那么xmlhttp_request.open("GET",URL,false); 这个类似的句子 请用false
如果你是用JQ的AJAX
$.ajax({
async:false 注意加上这个属性就可以了
})
那么xmlhttp_request.open("GET",URL,false); 这个类似的句子 请用false
如果你是用JQ的AJAX
$.ajax({
async:false 注意加上这个属性就可以了
})
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询