为了账号安全,请及时绑定邮箱和手机立即绑定

jQuery.Active函数

/ 猿问

jQuery.Active函数

汪汪一只猫 2019-10-20 16:08:51

jQuery.Active函数

我试图找到有关以下jQuery函数的更多信息:

jQuery.active

它用于测试到服务器的活动连接数,并在连接数为零时计算为true。

我在jQuery站点上找不到关于这个函数的任何信息,我想知道是否有人知道我在哪里可以这样做。


查看完整描述

2 回答

?
30秒到达战场

这是jQuery内部使用的变量,但没有隐藏的理由,因此可以使用它。只是提醒一下,变成jquery.ajax.active下一版本..没有文档因为暴露但是在官方的api中,很多事情实际上都是这样的,比如jQuery.cache(其中所有的jQuery.data())。

我猜在这里实际在库中的使用,似乎完全是为了支持$.ajaxStart()$.ajaxStop()(我将进一步解释),但他们只关心请求启动或停止时是否为0。但是,由于没有理由隐藏它,它暴露在您可以看到的实际数量同时Ajax请求当前正在进行。


当jQuery启动Ajax请求时,这种情况会发生:

if ( s.global && ! jQuery.active++ ) {
  jQuery.event.trigger( "ajaxStart" );}

这就是导致$.ajaxStart()事件发生时,连接的数量从0下降到1(jQuery.active++在这之后不是0,而且!0 == true),这意味着当前的第一个同时请求开始了。在另一端也会发生同样的事情。当Ajax请求停止时(因为beforeSend中止return false或者Ajax调用complete功能运行):

if ( s.global && ! --jQuery.active ) {
  jQuery.event.trigger( "ajaxStop" );}

这就是导致$.ajaxStop()事件,请求的数量减少到0,这意味着最后一个同时阿贾克斯通话结束。这个其他全局Ajax处理程序路上也有火。



查看完整回答
反对 回复 2019-10-21
?
HUH函数

对于试图在JSONP请求中使用jQuery.activewithJSONP请求的任何人(就像我以前一样),您需要使用以下方法启用它:

jQuery.ajaxPrefilter(function( options ) {
    options.global = true;});

请记住,要捕获故障,需要对JSONP请求进行超时。


查看完整回答
反对 回复 2019-10-21

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信