Uygulamamda arama kutunun var. Kullanıcı arama kutusuna kelime yazarken sonuçları göstermek zorunda. Bunun için önceki tüm istekleri iptal etmeli ve son isteğin sonucunu ızgarada göstermeliyim.Önceki tüm istekleri iptal et jquery
Kılavuz kullanıyorum çünkü "beforeSend" tablosu, jquery beforeSend olayını geçersiz kılacak. Bu yüzden
<script type="text/javascript">
$(function() {
$.xhrPool = [];
grid.Adaptor.prototype.beforeSend = function (jqXHR) {
$.xhrPool.push(jqXHR);
}
$.xhrPool.abortAll = function() {
$(this).each(function (i, jqXHR) {
jqXHR.abort();
$.xhrPool.splice(i, 1);
});
}
$.ajaxSetup({
complete: function (jqXHR) {
var i = $.xhrPool.indexOf(jqXHR);
if (i > -1) $.xhrPool.splice(i, 1);
}
});
})
Ancak, ben xhrPool isteği itebilir ama önceki istekleri iptal edemez, kod aşağıda kullandı.
Not $.xhrPool.abortAll = function() {
Bu, bir kesme noktası yerleştirdiğimde vurmuyor.
Burada neyim var?
. JavaScript yorumcusu bu yöntemi kendisi arayacak? – undefined
http://stackoverflow.com/a/8841412/1982680 bunu deneyin ve http://jsfiddle.net/s4pbn/148/ –
"$ .xhrPool.abortAll" kodunu çağırmak için kod nerede? –