jquery – 你如何解决实时搜索的“滞后”问题?

前端之家收集整理的这篇文章主要介绍了jquery – 你如何解决实时搜索的“滞后”问题?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

嗨,我正在我的webapp中实现实时搜索(=键入时搜索)功能.
目前我正在使用keyup事件通过ajax post发送搜索请求,例如

$('#SearchField').keyup(function(e) {
        $.post(
           ...
        );
});

但是这会导致某种滞后问题,在某些情况下,当我搜索时,例如在“问题”之后,“专业”的响应在“问题”的响应之后显示出来,并以一种方式覆盖正确的搜索结果结果很好.

什么是打击这种行为的好方法

TIA

最佳答案
你可以中止以前的请求

var xhr = null;
$('#SearchField').keyup(function(e) {
  if (xhr !== null) xhr.abort ();
  xhr = $.post(
    ...
  );
});

或为每个请求设置分配ID.
当请求完成时,如果更大的id已经返回,则忽略答案.
否则,存储id.

猜你在找的jQuery相关文章