这周有用到ajax嵌套ajax,在第一个ajax的callback方法中写第二个ajax。发现第二个ajax没有执行到,百度之后发现是ajax的异步问题导致的,因为都是异步,所以不能确定执行的顺序。在此,解决办法有一下集中:
1.在第一个ajax的success方法中写第二个ajax的方法。
2.在第一个ajax中加上async : false 属性(设置异步为false),原理是锁死当前浏览器的其他操作,等这个ajax请求完成之后才放行其它请求。
3.在jQuery 1.5 的版本中,引入了deferred延迟对象(基于观察者模式),具体见以下网址: 点击打开链接;
具体解决方式1:
- var promise1 = $.ajax(url1);
- var promise2 = promise1.then(