やったこと

webサービスを作るときに考えたことを垂れ流します

cakephpサーバとajaxの通信をしてるときに「"Unexpected token <"」のエラーが出る

cakephpのサーバとajax通信をしてるときに、ブラウザ側で「"Unexpected token <"」のエラーが出て通信失敗するとき、これはおそらくcakephpのコードがどこかでエラーしていると思われる。

クライアント側に応答メッセージとしてHTML文が返ってきていて、その中にある"<"の文字をパースできなくてブラウザが怒っているのだろう。

ブラウザ側で下記のように「jqXHR」の中をデバッグしてみると、responceTextという領域にHTMLのエラー文が入っているのが分かる。このHTML文を読めばcakephpのどの箇所でエラーしてるか分かるので、頑張って修正してみてください。

$.ajax({
  type: 'POST',
  url: 'hogege',
  dataType: 'json',
  cache: false,
  data:reqdata
}).done(function(data, textStatus, jqXHR) {
  //成功

}).fail(function(jqXHR, textStatus, errorThrown) {
  //失敗
  console.log(jqXHR);
});


以上です(こんなことで一日はまってしまった・・)