ajax顺序执行

登录逻辑:

检查是否是第一次登录,如果是则直接执行登录代码,否则执行登录验证代码。
登录订餐系统首先确定获取服务器时间,用来登录成功的时候判断现在是否可以订餐。
然后验证用户账户及密码是否正确,如果正确跳转到订餐界面,订餐界面的URL是包含获取到的服务器时间的。

问题所在:
原来的代码时写了两个ajax分别获取时间和进行验证。但是ajax是异步JavaScript和xml所以当执行第getDate方法的时候也在执行test方法,但是如果test方法先执行完毕这时候传到订餐界面的URL上的时间是undefined,就会导致一系列错误的提示。

解决方案:
方案一:嵌套ajax,把getDate方法执行成功的时候再调用textajax。
方案二:把前一个必要的ajax设置为同步,即 async:false,

总结:ajax虽然好用但是需要逻辑判断前一个的返回值是否下一个ajax会用到,如果用到的话就需要考虑到底用哪个解决方案更合适了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值