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,errorThrown参数 - 你必须参考jqXHR.responseText- 请参阅jQuery doc

于 2012-09-07T15:09:24.093 回答