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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值