jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jQuery ajax请求被取消会减慢当前请求大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前正在使用工具在jQuery事件按键上检索@L_197_0@中的地址.
当文本输入失去焦点时,我会取消每个待处理的请求,以避免在用户完成填写输入后出现下拉列表.
一切正常,但是,完成我发送一个最终的ajax请求转到我的表单的下一步.这个请求比取消所有这些请求之前要慢得多.我不明白为什么,取消的请求不应该影响待处理的请求(我确定它们已被取消,在Chrome工具的网络选项卡中查找).
我正在使用此代码

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();
});

我想我有一个我没有得到的优化技巧.
谢谢你的帮助.

解决方法

还要记住,向服务器打开一个AJAX请求,然后取消请求不会取消服务器上的处理请求,它只是阻止浏览器监听响应.服务器将继续处理任何断开连接的ajax请求,直到它们完成运行,此时它会尝试向客户端发送响应并找不到任何人监听,死亡.

大佬总结

以上是大佬教程为你收集整理的jQuery ajax请求被取消会减慢当前请求全部内容,希望文章能够帮你解决jQuery ajax请求被取消会减慢当前请求所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。