春咲さんのメモ。

自分メモ的な。主にPHPについて。github:mindlessdoll(冬眠してるけど)

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