ajaxとか流行っちゃって、わりと気軽につかわれてたりするわけですが。これがけっこう、やばいことになりがちなのです。
サーバに何回リクエストを投げるのかというのを意識しないで、onclickとか複数選択のselectタグのonchangeとか、危険なところにajaxを仕込んであったりする。けっこうよくある。
そういうイベントは、下手をするとすごい回数発生してしまうのです。サーバにも同じ回数のリクエストが飛ぶわけなので、そのあたりは意識しなければいけない。
サーバでは多くの場合、リクエストを受けるたびにSQL発行するはずだ。こういうコードは大変まずいのです。
というわけで、こんな関数を用意しておくといいと思う。
var ajaxTimer; function hogeOnChange() { window.clearTimeout(ajaxTimer); ajaxTimer = window.setTimeout("ajax()" , 1000); }
1秒間イベントが来なかったら初めてajaxする。
作法っていうか、考えてないとDBサーバが固まっちゃったりとか平気でするんで、ぜひとも気をつけたい。