2016-04-11 10 views
-1

私はajax呼び出しを行う関数を持っています。 .doneは発砲していないようです。私は自分のコンソールでエラーをチェックしました。それは私がコードの同じ部分をしようとする私の友人に尋ねたし、それが動作。ajaxコールでは実行されません。

enter image description here

function getIncidentInfo() { 
    $.ajax({ 
     type: "GET", 
     url: "../../page_components/statsboard/stats.php", 
     data: $(this).serialize(), 
     dataType: "json", 
    }).done(function(response) { 
     incidentAr = response; 
     for (var i in incidentAr) { 
      var zaNorth = parseInt(incidentAr[i].zaNorth); 
      ...... 
     } 
    }).fail(function(xhr, status, error) { 
     console.log("Status: " + status + " Error: " + error); 
     console.log(xhr); 
    }); 
} 

言います。

+1

エラーの画像を投稿しないでください - 私たちの一部は、ファイアウォールの背後にあるとあなたのエラーメッセージを表示することはできません...... – WillardSolutions

+3

「予期しないトークンが '<'」_not検索したファイルはJSON_であることの指標です。オブジェクトの 'responseText'プロパティを見てください:'
'で始まります。 – Xufox

+2

あなたのajaxリクエストはjsonレスポンスを期待していますが、代わりにHTMLを受け取ります。 jsonへのHTML応答を解析しようとすると、エラーがポップアップします。 – ViZeke

答えて

0

stats.php内のスクリプトは、XDebugのエラーを投げていると、エラーの代わりに、あなたが期待しているJSONを記述したHTMLを返しています。 stats.phpページをブラウザに読み込むか、PHPログをチェックしてエラーの内容を確認してください。

0
  1. .done(response)の代わりに.always(response)をチェックしてください。一部のサービスでは、エラーを記述するためにレスポンス本文で非200コードが返されます。
  2. response.responseJSON,response.responseTextおよびresponse.responseXMLをチェックする。あなたはresponse.responseJSON = eval(respaonse.responseText)と述べなければならないかもしれません。

しかし、私は(あなたが200件のステータスを取得していないので、404または500が、私はこれを言う)あなたはより一般的なサーバーを取得しているということですresponseTextは、HTMLタイプのように私の推測であることがわかりあなたが照会しようとしなかったルートからの応答を表示しているエラー。

関連する問題