Şu anda jQuery olay tuşlarında bir veritabanındaki adresleri almak için bir araç kullanıyorum. Metin girişi odağı kaybettiğinde, kullanıcının girişi doldurması bittikten sonra açılır listeden kaçınmak için bekleyen tüm istekleri iptal ederim. Her şey düzgün çalışıyor, ancak bitirmek için Formumun bir sonraki adımına gitmek için son bir ajax isteği gönder. Bu istek, tüm bu istekleri iptal etmeden çok daha yavaştır. Nedenini anlamıyorum, iptal edilen bir istek beklemede olanı etkilememelidir (ve iptal edildiklerinden emin olun, chrome araçlarındaki ağ sekmesinde bakın). Bu kodu kullanıyorum: Oraya ben ben alamadım bir optimizasyon hile tahminjQuery ajax istek iptal edildi şu anki isteği yavaşlatıyor
jQuery.xhrPool = [];
jQuery.xhrPool.abortAll = function() {
jQuery(this).each(function(idx, jqXHR) {
jqXHR.abort();
jQuery('.loader').hide();
});
};
jQuery.ajaxSetup({
beforeSend: function(jqXHR) {
jQuery.xhrPool.push(jqXHR);
},
complete: function(jqXHR) {
var index = jQuery.xhrPool.indexOf(jqXHR);
if (index > -1) {
jQuery.xhrPool.splice(index, 1);
}
}
});
jQuery('#my_input').blur(function(){
jQuery.xhrPool.abortAll();
});
. Yardımlarınız için teşekkürler. ki
Onları iptal etmediyseniz, gecikme hala var mı? –
Onları iptal ettiğimde çok daha yavaştır. – M4nch4k
Peki ya bu talebi, daha önce iptal ettiğiniz bir önceki gönderilerinizi göndermeden gönderdiyseniz ne olur? İptal edilen isteklerin, sorun yaşadığınız sorunun ne kadar sürdüğü ile alakası bulunmadığından şüpheleniyorum. –