Đây là một biến jQuery sử dụng nội bộ, nhưng không có lý do gì để ẩn, vì vậy nó có thể sử dụng. Chỉ cần lưu ý, nó sẽ trở thành jquery.ajax.active
bản phát hành tiếp theo . Không có tài liệu vì nó được hiển thị nhưng không có trong API chính thức, rất nhiều thứ thực sự giống như thế này, như jQuery.cache
(nơi tất cảjQuery.data()
xảy ra).
Tôi đoán ở đây bằng cách sử dụng thực tế trong thư viện, nó dường như chỉ ở đó để hỗ trợ $.ajaxStart()
và $.ajaxStop()
(mà tôi sẽ giải thích thêm), nhưng họ chỉ quan tâm nếu nó là 0 hay không khi một yêu cầu bắt đầu hoặc dừng lại. Tuy nhiên, vì không có lý do gì để che giấu nó, nên bạn có thể thấy số lượng yêu cầu AJAX đồng thời thực tế hiện đang diễn ra.
Khi jQuery bắt đầu một yêu cầu AJAX, điều này xảy ra :
if ( s.global && ! jQuery.active++ ) {
jQuery.event.trigger( "ajaxStart" );
}
Đây là nguyên nhân khiến $.ajaxStart()
sự kiện kích hoạt, số lượng kết nối vừa chuyển từ 0 đến 1 ( jQuery.active++
không phải là 0 sau kết nối này và !0 == true
), điều này có nghĩa là yêu cầu đầu tiên trong số các yêu cầu đồng thời hiện tại đã bắt đầu. Điều tương tự cũng xảy ra ở đầu bên kia. Khi một yêu cầu AJAX dừng (vì một beforeSend
hủy bỏ quareturn false
hoặc một cuộc gọi ajax complete
chức năng chạy ):
if ( s.global && ! --jQuery.active ) {
jQuery.event.trigger( "ajaxStop" );
}
Đây là nguyên nhân khiến $.ajaxStop()
sự kiện kích hoạt, số lượng yêu cầu giảm xuống 0, có nghĩa là cuộc gọi AJAX đồng thời cuối cùng đã kết thúc. Các trình xử lý AJAX toàn cầu khác cũng kích hoạt trong đó.