我为我的网站创建了一个 Facebook 风格的 ajax 搜索,当您键入时,它会在搜索下方的一个漂亮列表中显示结果。
$("#s").keyup(function() {
var searchbox = $(this).val();
var dataString = 's='+ searchbox;
if(searchbox!='') {
$.ajax({
type: "POST",
url: "/livesearch.php",
data: dataString,
cache: false,
success: function(html){
$("#display").html(html).show();
}
});
} else {return false; }
});
$("body").click(function() {
$("#display").hide();
});
这样做的问题是它有点无效,因为用户会输入一个单词,例如“足球”。这将向服务器执行 8 个请求。什么是更有效的方法来做到这一点?理想情况下,我认为它应该在进行搜索而不是即时键入之前将请求存储 1 秒。但不是 100% 确定如何做到这一点......