PHPについて学習内容を備忘録としてまとめます。
今回は実装中に起きたエラーについて解決法まで記載します。
ステータスコード200を返しているのにajax処理が正常に動かない
下記はテキストボックスに文字を入力して編集完了ボタン
をクリックすると、
test
の部分が書き換わるajax機能を用いたものになります。
ただ編集完了ボタン
をクリックしても文字が変わらないため、
jqueryのコードにjqXHR.status
を追記してステータスコードを確認してみます。
}).fail(function(jqXHR, textStatus, errorThrown){
$("div.result").text("エラーが発生しました。ステータス:" + jqXHR.status);
});
すると上記のようにステータスコードは200を返しており正常にレスポンスが取得できています。
原因
下記のようにtextstatus
を確認してみたところパースエラーと表示されていました。
datatype
をjson
としていたためレスポンスが厳格な作法によってパースされるため、少しでも奇形の場合はパースエラーが返されてしまうとのことです。
解決方法
datatype
をtext
で指定すると、正常に動きました
↓編集完了をクリック
参考URL