JavaScript

[JavaScript] Ajaxの戻りステータスがエラーとなる場合の原因

投稿日:2018年9月15日 更新日:

Ajaxの戻りステータスがエラーとなる場合の原因をまとめてみました。

Ajaxの戻りステータスがエラーとなる場合の原因

原因1)リクエスト送信時に指定したデータタイプと戻り値のデータタイプが異なる

送信時に指定したdataTypeは"json"だが、戻り値としてxml形式のデータが返ってきているなど。戻ってきた値をコンソール等に出力してデータ形式が正しいか確認してみてください。

原因2)戻り値のデータが壊れている

サーバ側で生成したjsonやxmlが、タグの不整合などで正しい形式となっていない。

よくあるのは、タグの不整合により正しいxmlになっていなかったり、日本語が文字化けしていて変な値となっていたりするのでこの辺を確認してみてください。

戻ってきたxmlやjsonの文字列を、ブラウザ等で表示させてみると壊れていないかどうか確認できます。

原因3)データタイプがjsonの時、値にnullが含まれている

戻って来たjsonデータの値がnullとなっていると、Ajaxでは正しいデータとして認識してくれません。サーバ側でnullは空文字「""」に置き換えるなどしてください。

【NGな例】{"key1": null, "key2": null}
【OKな例】{"key1": "", "key2": ""}

このパターンでエラーとなる事例が多いです。

原因4)呼び出しているAjaxのURLが間違っている

呼び出すURLが間違っていると戻りステータスはエラー(404)になります。
URLが合っていると思い込んでいてハマるパターンが多いので、URLを今一度確認してみてください。

まとめ

  • 私の経験上、Ajaxの戻りステータスがエラーとなる時は戻ってきた値に問題がある事が多いので、戻ってきた値を丹念に調べるのが解決への近道かと思います。

関連項目


スポンサーリンク

スポンサーリンク

-JavaScript
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

[JavaScript] ブラウザの戻るボタン、次へボタンを実装する(history.back、history.forward)

javascriptでブラウザの履歴を操作するには、 window.history.back()、window.hist ...

[JavaScript] 1970年1月1日からの経過ミリ秒を取得する(.getTime)

1970年1月1日からの経過ミリ秒を取得するには、.getTime()を使用します。 サンプルソース 例)1970/1/ ...

[JavaScript] 偶数奇数を判定するFunction

偶数奇数を判定するFunctionサンプルです。 サンプルソース 例)偶数の場合はtrue、奇数の場合はfalseを返す ...

[JavaScript] テキストボックスを読み取り専用にする

テキストボックスを読み取り専用にするには、readOnlyプロパティを設定します。 サンプル 例)ボタンを押すたびにテキ ...

[JavaScript] カラーコードから色を確認する

カラーコードから色を確認したい場合にご利用ください。 カラーコードから色を確認する カラーコードを入力してください。(例 ...

スポンサーリンク