我正在使用AJAX通过使用“LIKE”查询查询数据库来生成搜索建议。当用户在输入字段中键入文本时,将返回结果。
我设置它的方式如下:
JQuery的:
var timer;
$(".prod-name-input").keyup(function(){
var self = this;
clearTimeout(timer);
searchword = self.value;
timer = setTimeout(function(){
$(".smart-suggestions").load('invoice-get-data.php?searchword=' + self.value);
},300); //onkeyup event works with a 300 millisecond delay
});
问题是,如果我输入一个包含6个字符的单词,那么在为完整单词填充AJAX结果之前至少需要几秒钟,似乎到时候有多个AJAX函数调用用户完成了在文本字段中输入单词(由于onkeyup事件)。我在我的mySQL查询中使用了var_dump来尝试查看最新情况,并且它显示一旦查询完整的搜索词,这通常太慢,并且使用我的方法需要几秒钟,结果将被返回几乎是立刻,
我的目标是通过避免我现在的极端延迟几乎立即显示搜索建议,因此一旦用户在输入字段中键入一些文本,就会出现搜索建议。我试图仔细控制ajax调用的次数,以改善响应时间,但没有任何成功。我一直试图解决这个问题好几天,并希望对此有任何帮助。非常感谢提前。
答案 0 :(得分:0)
我的解决方案是设置一个LIMIT到mysql查询,因为我不需要100个查询结果,但只是少数,这导致AJAX显着提高了速度。