jQuery - 我可以从.ajaxStart或.ajaxStop中检索(event, xhr, options)吗?

9

基于http://api.jquery.com/ajaxComplete/

的内容。

.ajaxComplete( handler(event, XMLHttpRequest, ajaxOptions) )
.ajaxStart( handler(event) )

据我所知和实验,.ajaxStart或.ajaxStop的处理程序中的XMLHttpRequest和ajaxOptions参数为空。
我想在.ajaxStart和.ajaxStop的函数内检索ajaxOptions信息。这是可能的吗?
如果我使用.ajaxSend + .ajaxComplete而不是.ajaxStart + .ajaxComplete,会有什么问题?我这样做的主要原因是.ajaxSend可以访问所有三个参数。
1个回答

17

这些事件是用于当活动请求数量发生变化(从0变为非零或者从非零变为0)时触发的,因此你无法在此处访问它们。但是它们不是每个请求专属的,而是针对整体活动的。

我想你需要使用.ajaxSend().ajaxComplete(),它们会在每个请求发送前和完成后触发,并带有请求的参数,例如:

$(document).ajaxSend(function(event, xhr, options) {
  //do start stuff
}).ajaxComplete(function(event, xhr, options) {
  //do end stuff
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接