Il s'agit d'une variable que jQuery utilise en interne, mais qu'il n'avait aucune raison de cacher, donc elle est là pour être utilisée. Juste une mise en garde, il devient jquery.ajax.active
prochaine version . Il n'y a pas de documentation parce que c'est exposé mais pas dans l'API officielle, beaucoup de choses sont comme ça en fait, comme jQuery.cache
(où tous les jQuery.data()
va).
Je devine ici par réel dans la bibliothèque, il semble qu'elle soit là exclusivement pour supporter $.ajaxStart()
y $.ajaxStop()
(ce que j'expliquerai plus loin), mais ils ne se soucient que de savoir s'il est à 0 ou non lorsqu'une requête commence ou s'arrête. Mais, comme il n'y a pas de raison de le cacher, il est exposé pour que vous puissiez voir le nombre réel de simultanée Les requêtes AJAX sont en cours.
Lorsque jQuery lance une requête AJAX, cela arrive :
if ( s.global && ! jQuery.active++ ) {
jQuery.event.trigger( "ajaxStart" );
}
C'est ce qui cause le $.ajaxStart()
se déclenche, le nombre de connexions vient de passer de 0 à 1 ( jQuery.active++
n'est pas 0 après celui-ci, et !0 == true
), cela signifie que le premier des simultanée les demandes ont commencé. La même chose se produit à l'autre bout. Lorsqu'une requête AJAX s'arrête (à cause de a beforeSend
interrompre via return false
ou un appel ajax complete
la fonction fonctionne ):
if ( s.global && ! --jQuery.active ) {
jQuery.event.trigger( "ajaxStop" );
}
C'est ce qui cause le $.ajaxStop()
pour se déclencher, le nombre de demandes est descendu à 0, ce qui signifie que la dernière simultanée Appel AJAX terminé. Le site autres gestionnaires globaux d'AJAX le feu en cours de route aussi.
0 votes
Est-ce maintenant ou était-ce une fonction ?