gpt4 book ai didi

javascript - 如何避免 keyup 事件连续 ajax 请求的开销?

转载 作者:数据小太阳 更新时间:2023-10-29 05:57:44 27 4
gpt4 key购买 nike

例如在搜索表单中,当用户输入一些文本时,AJAX 请求应在每个 keyup 事件上发送,搜索键作为查询字符串。搜索键将是输入框中的值。

如果用户输入“ABCD”,在这种情况下,前 3 个 AJAX 请求应该被终止/取消,因为在第 4 个 AJAX 请求中,搜索键将是“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",
url: "http://example.com/ajaxRequestHandler/",
data: "action=search&searchkey=" + searchKey
}).done(function() {
/* process response */

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

关于javascript - 如何避免 keyup 事件连续 ajax 请求的开销?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27265534/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com