Javascript 不推荐的jQuery回调-澄清?
-Javascript 不推荐的jQuery回调-澄清?,javascript,jquery,Javascript,Jquery,-jqXHR由$.ajax()返回的对象实现Promise接口 还声明jqXHR.done,jqXHR.fail,jqXHR.always分别是不推荐的成功/失败/完成的替代结构 弃用通知:jqXHR.success()、jqXHR.error()和 从jQuery 1.8开始,jqXHR.complete()回调已被弃用。准备 要最终删除它们,请使用jqXHR.done()、jqXHR.fail(), 而jqXHR.always()则相反 好的。(很久以前就知道了) 但是后来我看到了async
jqXHR
由$.ajax()返回的对象实现Promise
接口
还声明jqXHR.done
,jqXHR.fail
,jqXHR.always
分别是不推荐的成功
/失败
/完成
的替代结构
弃用通知:jqXHR.success()、jqXHR.error()和
从jQuery 1.8开始,jqXHR.complete()回调已被弃用。准备
要最终删除它们,请使用jqXHR.done()、jqXHR.fail(),
而jqXHR.always()则相反
好的。(很久以前就知道了)
但是后来我看到了async
doc:
async:从jQuery 1.8开始,将async:false
与jqXHR($.Deferred)
一起使用是不正确的
不赞成;您必须使用success/error/complete回调选项
而不是jqXHR对象的相应方法,例如
jqXHR.done()
这里的措辞非常不清楚(imho)-因此,我不理解它的含义
问题:
是否有任何情况仍然我需要使用成功/错误/完成
?怎么会?他们不赞成
nb,为什么这么乱?他们改变和删除方法,然后像每个版本一样更换(!例如管道)结论:
不推荐使用的是同时使用async:false和jqXHR($.Deferred)API(结合使用)
$.ajax()
的success/error/complete
回调选项未被弃用
jqXHR.success()
、jqXHR.error()
和jqXHR.complete()
回调已弃用
当使用异步AJAX请求时(async:true
),您可以使用success/error/complete
回调选项$.AJAX()
或jqXHR.done
,jqXHR.fail
,jqXHR.always
但是当使用同步AJAX请求时(async:false
),
不应使用延迟API(jqXHR.done
,jqXHR.fail
,jqXHR.always
),
但是使用success/error/complete
回调选项$.ajax()
逻辑结论:async:false
已被弃用。@dystroy真正的问题是success
在声明为已弃用时仍在使用,…@dystroyasync:false
未被弃用,但是在jqXHR中使用async:false
是@xdazz这只是一个玩笑。。。有一点提示,这个可怕的东西早就应该被删除了。^^@dystroy非常同意:)是不是async:false
被弃用了?@Satpal否,在jqXHR($.Deferred)
中使用async:false是@xdazz so$.ajax(…async:false…)被弃用了,而$.ajax(…async:false…,success:function(){…})
不是…对吗?@RoyiNamir是的,就是这样:)