• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:AJAX通信のエラー処理について)

AJAX通信のエラー処理について

このQ&Aのポイント
  • AJAX通信で発生するエラーについて説明し、エラーを捕捉する方法について解説します。
  • AJAX通信の確認をサーバ側で行う方法について質問し、エラーの確認方法についても言及します。
  • 不定期で発生するエラーを回避する方法について説明します。回避方法として、条件文を修正する方法を提案します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

>■質問1 http://www.koikikukan.com/archives/2012/10/02-005555.php >■質問2 コールバック関数でデータを受け取れたかどうかの確認は出来ます。 または、サーバーにファイル(ログファイル)として保存しておけば、そのファイルの内容を見る事で確認できます。 >■質問3 jsondataの扱いはtest.phpの受信完了後に処理してますか? (コールバック関数内に限らず、受信が完了してjsondataに代入できているなら、onclickでもいつでも良いので) 回避するだけなら、 if( jsondata == null ){ if( Number(jsondata.age)>10) { でいいと思います。 null、undefined、''をNumber()で型変換すると0になりますので、.ageがnullかどうかを判断する必要はないと思います。 (0とnullを区別するのでなければ。)

re999
質問者

お礼

回答ありがとうございました。 その後、アドバイスを元に、$.ajaxに書き直してみたところ、 エラー捕捉出来ず、そこでようやく、原因が$.ajax以外だということが分かりました。 (最終的にはセッション不具合でした) 色々参考になりましたー

その他の回答 (1)

  • 1000010
  • ベストアンサー率50% (1/2)
回答No.2

Ajax通信が非同期モードで行われていて、$.postの処理が完了しないままif文に突入しているように思います。 $.ajaxはパラメータで通信モードを非同期か同期かを指定できるし、通信成功時や失敗時の処理が切り分けできるのでオススメします。

re999
質問者

お礼

回答ありがとうございました。 >$.ajaxはパラメータで通信モードを非同期か同期かを指定できるし、通信成功時や失敗時の処理が切り分けできるのでオススメします これまであまりエラー処理の重要性を認識していなかったのですが、 今回、原因の切り分けに苦労したこともあり、 エラー処理はやっぱ書くべきだ、 そのためには「$.ajax」を使うべきだ、と思うようになりましたー