我一直在尝试调节keyup
事件中 ajax 响应的数量,以优化性能。基本上,我要做的是跟踪当前是否有任何 AJAX 请求正在进行中,如果有,则中止以前的请求,因此只有一个 ajax 请求最终在任何给定时间完成。我当前的实现似乎并没有取消以前的 ajax 请求。我很感激任何关于我做错了什么以及如何解决它的建议。
提前谢谢了!
var ajaxReq = null;
$(".invoice-wrapper").on("keyup", ".prod-name-input", $.throttle(800, function () {
searchword = $(this).val();
if ((searchword.length) >= 3) {
if (ajaxReq != null) ajaxReq.abort();
var ajaxReq = $.ajax({
url: "ajax/data.php?searchword=" + searchword,
dataType: "html",
success: function (data) {
$last.next('.suggestions').html(data);
}
});
}
}));