経緯

キーワード検索するとき、検索ボタンを押さずに、入力された時点で自動的に結果が変わるようにしたい。
でも、changeイベントは一度フォーカスをはずさないといけないから、keyupでやりたい。
そうすると、入力キーが押される度、通信が走って、サーバーに負荷をかけそう。

ってときの対処法。

対処法

ここではjQuery前提で話を進めます。HTMLは次のようなもの。

基本的には入力が終わって、しばらくしたら、Ajaxを投げる、というやり方です。

CoffeeScriptの場合

まとめ

Ajaxを使うとUX的にはいいものになる場合も、ヘタすると、サーバーへの無駄な負荷をかけることにもなりかねません。
いつ、どのくらいの頻度で通信が行われるのかしっかり意識しておきましょう。