スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

JavaScriptの2重送信問題

ノート

JavaScriptがシングルスレッドらしいので、再入は気にしなくても良さそうなので、グローバル変数使えば良いと思う。けど、シングルスレッドだからWin32と同じでイベントハンドラ内の処理は短くしないと後がつかえちゃう問題。イベントハンドラですぐにajax呼び出しするような場合で、かつタイマーで定期的に呼び出すような場合におかしくなる。ある1つの呼び出しで応答が返ってこない時間が掛かってても、タイマーでどんどんリクエストが溜まってっちゃうことがある。へたすると数百のコネクション張っちゃう?違う?
ボタンクリックでajaxの応答の内容をダイアログ表示するような場合、ajax応答に時間が掛かると、その間もボタンクリックしちゃってダイアログ何個も表示されることがある。これ防ぐのベタに排他制御するしかなさそう。

参考

Questions containing 'javascript double submit' - Stack Overflow

double submit問題。やっぱフラグで排他制御するしかないか?


jQuery Events: Stop (Mis)Using Return False | Fuel Your Coding

イベントキャンセルしたいなら通常は、イベントハンドラでreturn false;しとけ。柔軟にしたいなら使うな。


スポンサーサイト

この記事へのトラックバックURL

http://memolet.blog22.fc2.com/tb.php/1523-0c836e62

この記事へのトラックバック

この記事へのコメント



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。