私は自分のサイト用に 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%確実ではありません...