jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 如何避免keyup事件上连续ajax请求的开销?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
例如在用户输入某些文本的搜索表单中,当时,AJAX请求应发送每个keyup事件,搜索键为查询字符串.搜索键将是输入框中的值.

如果用户输入“ABCD”,在这种情况下,前3个AJAX请求应该被杀/取消,因为在第4个AJAX请求中,searchkey将是“ABCD”

$(document).ready(function(){
    $("#searchInput").keyup(function(){
        ajaxSearch( $("#searchInput").val() );
    });
});

在keyup事件中,我调用了“ajaxSearch()”函数.

function ajaxSearch(searchKey) {
    $.ajax({
        type: "get",url: "http://example.com/ajaxrequestHandler/",data: "action=search&searchkey=" + searchKey
    }).done(function() {
        /* process response */
    });
}

解决方法

var request;
function ajaxSearch(searchKey) {
    /* if request is in-process,kill it */
    if(request) {
        request.abort();
    };

    request = $.ajax({
        type: "get",data: "action=search&searchkey=" + searchKey
    }).done(function() {
        /* process response */

        /* response received,reset variable */
        request = null;
    });
}

大佬总结

以上是大佬教程为你收集整理的jquery – 如何避免keyup事件上连续ajax请求的开销?全部内容,希望文章能够帮你解决jquery – 如何避免keyup事件上连续ajax请求的开销?所遇到的程序开发问题。

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

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