ajaxの処理が完了してから実行したい処理がある。
ajaxってさ、非同期通信で便利なんだけど、処理結果によって後続の処理をどうするか決めたい時あるじゃん?
ajax実行(登録最大値を取得している)
↓
処理A
って書いても、ajaxの処理中に処理Aが実行されて、登録最大値越してるのに!なんか処理A走ってる!てきなことになりました。
結論からいうと、$.when $.doneってのを使いました
$.when( $.ajax({ url: '/check_max_user', type: 'POST', dataType: 'json', success: function(data, status, xhr) { if (!data.success) { max_user_flg = true; alert('お腹いっぱいだお'); return false; } else { max_user_flg = false; } } }) ).done(function(){ if (!max_user_flg) { 以下略
こうするとね、whenの中身実行してからdoneの処理を実行するわけですよ。
便利だな。
気が付いたんだけどさ、最近phpネタ書いてない…orz