IT序号网

ajax异步请求知识解答

developer 2021年11月03日 程序员 144 0
本文章主要介绍了ajax异步请求,具有不错的的参考价值,希望对您有所帮助,如解说有误或未考虑完全的地方,请您留言指出,谢谢!

虽然一直清除ajax是异步请求,但其实一直以来都只把它当成一种局部刷新技术,做项目的时候就遇到问题了。
这里写图片描述
需求是,当一个用户进入界面进行操作,选择了地区,进行相应的操作后点击保存后,当用户再次进入该界面,如之前他选择了广东-广州,那他下次进入,地区显示上还应该是广州-广东。
因为页面内容加载什么都用了ajax请求,故本人的操作是:页面加载调用ajax请求从数据库查询之前用户有无操作进行保存了数据,若有,则取出上次选择的地址(省和市)(假设该方法为functuionA()),然后再请求另一个ajax,获取所有的省市信息,省和市的显示之前获取到的前一次的省市信息(假设该方法为functuionB())。初始化的时候方法加载顺序为:

functuionA(); 
functuionB(); 

就这么个看起来简单的问题,最后结果始终不对,虽然方法加载的时候写的是先functuionA再functuionB,但是ajax是异步请求,你不知道functuionA和functuionB到底哪个先加载完。
解决办法是在ajax请求的时候加上

async: false 

即将异步变成同步请求,请求的时候会按照先functuionA()再functuionB()的顺序请求,解决也就对了。

拓展:

functionA(){ 
	var i = 1; 
	$.ajax({ 
	…… 
	success: function (result) { 
		var i = 2; 
		} 
	  } 
    }); 
     
functionB(){ 
	$.ajax({ 
	…… 
	success: function (result) { 
		var i = 3; 
		} 
	  } 
    }); 
     
$(function(){ 
	functionA(); 
	functionB(); 
}); 
 

i的结果到底等于多少是未知的。

转载请注明原址:http://blog.csdn.net/zheng911209/article/details/47131607


发布评论
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

jquery tablesorter插件的使用知识解答
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。