<input>
次のように、ユーザーが要素に入力したときにサーバーに ajax リクエストを送信しています。
$('#my-input').bind("input", function(event){
// here's the ajax request
});
私が気になるのは、ユーザーがキーを押すたびに不必要に多くのリクエストを送信することです。つまり、ユーザーが非常に速く入力すると、不要なリクエストが多数発生することになります。したがって、ユーザーがajaxリクエストを送信する前に入力を停止するまで、特定の時間(50ミリ秒?)待機する特定の遅延/タイムアウトが必要であるという考えが得られます。これで問題の 1 つが解決されます。
しかし、別のリクエストを送信する前に最初の ajax リクエストが完了していない場合はどうでしょうか? (ajax リクエストが 300 ミリ秒かかっている間、60 ミリ秒/文字を入力します)。
この問題を解決する最善の方法は何ですか (アイデアベースとコードベースの両方)?