ajaxを関数化して実行させるには

例えば、ループの中で呼び出すために関数化して、そこで普通にajaxを使おうとするとうまくいきません。
少しソースに工夫が必要です。

上記のようなソースだとajaxできちんと値が取得できたとしてもalert(undefined)がループ分表示されるだけです。
原因は非同期通信はレスポンスが返る前に次の処理にいくため。
解決方法は2つあります。

①同期通信にしてしまう
少し通信に時間がかかりフロントに影響してしまう可能性があるようですが、
同期通信してしまうと解決してしまいます。

②doneとfailを使う
こちらは非同期通信のままレスポンスが返ってきます。

コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください