1.(ajaxStart 和 ajaxSend)和 2.(ajaxStop 和 ajaxComplete)有啥区别?

Posted

技术标签:

【中文标题】1.(ajaxStart 和 ajaxSend)和 2.(ajaxStop 和 ajaxComplete)有啥区别?【英文标题】:What's the difference between : 1. (ajaxStart and ajaxSend) and 2. (ajaxStop and ajaxComplete)?1.(ajaxStart 和 ajaxSend)和 2.(ajaxStop 和 ajaxComplete)有什么区别? 【发布时间】:2011-04-13 17:56:21 【问题描述】:

基本上就是这个问题(括号很重要)

【问题讨论】:

我想知道基于这里的两个不同答案的相同:***.com/questions/11961438/… 【参考方案1】:

.ajaxStart().ajaxStop() 用于所有请求一起ajaxStart第一个同时请求开始时触发,@987654324 @ 触发,然后 last 同时批处理完成。

假设您同时发出 3 个请求,ajaxStart() 在第一个请求开始时触发,ajaxStop() 在最后一个请求返回时触发(它们不一定按顺序完成)。

这些事件没有得到任何参数,因为它们是针对一批请求的:

.ajaxStart( handler() )
.ajaxStop( handler() )

.ajaxSend().ajaxComplete() 在发送/完成时触发一次每个请求。这就是为什么这些处理程序是传递参数而全局/批处理的不是:

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

对于单个文档源,the API 的 Global Ajax Events 部分是您所追求的。

【讨论】:

这个答案很清楚,在我看来不愧是jQuery文档。 所以基本上,ajaxStartajaxStop 是在文档上切换 loading 类的简单方法。 随意扩展这个我开始玩的现场示例jsfiddle.net/e4z9bv6k 请有人更正此答案中的第二个链接,因为它会将我带到 404 页面。

以上是关于1.(ajaxStart 和 ajaxSend)和 2.(ajaxStop 和 ajaxComplete)有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

jquery中各个事件执行顺序如下:

HTTP 请求类库

jquery的AJAX中各个事件执行顺序

Jquery监听AJAX请求

jquery中各个事件执行顺序如下:

jquery ajax中success与complete的执行顺序