ajax请求造成beforeSend失效
ajax请求造成beforeSend失效,在常见的就是在请求时加载loading。发现请求耗时较长的时候。loading出不来了。这个问题的主要原因是UI线程阻塞造成的。如何解决这个问题。可以使用$.Deferred解决。
如图:
注意3点:
1、在函数在开始定义$.Deferred
2、defer.resolve(data);必须写入,否则后面的函数回调会不执行
3、返回$.Deferred
4、ajax必须是异步请求
这里都定义好后,使用$.when(account.add()).done(function (data) { // do somthing });就行调用。