0

console.log(data) は次の結果を提供します

{
    "ERRORS": [
        {
            "MESSAGE": "Error on API.",
            "CODE": "hermes05"
        }
    ],
    "DATA": {}
}

値メッセージを取得しようとすると、未定義になります。なぜですか?

error: function(data){

  console.log(data.ERRORS[0].MESSAGE);

}

完全なコード

 $.ajax({
                type: "POST",
                dataType: "json",
                url: "http://api.domain.com/something",
                data: {
                    // Send value in mobile input field.
                    mobile:  $("#mobileNo").val()
                },

                success: function(data){

                },

        error: function(data){

             console.log(data.ERRORS.MESSAGE);

                }
            });


            // stop button from submitting.
            event.preventDefault(); // cancel default behavior
        });
4

2 に答える 2

3

あなたが欲しいのは

error: function(jqXhr) {
  try {
    data = JSON.parse(jqXhr.responseText);
    console.log(data.ERRORS[0].MESSAGE);
  } catch (err) {
    console.log("Response was not valid JSON");
  }
}

http://api.jquery.com/jQuery.ajax/successとの違いを確認してください。error

于 2012-09-07T15:09:25.757 に答える
2

これは、errorコールバックに ,,jqXHRパラメータがあるためです-参照する必要がtextStatusあります - jQuery docを参照してください。errorThrownjqXHR.responseText

于 2012-09-07T15:09:24.093 に答える