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
});
答案 0 :(得分: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
之间的区别
答案 1 :(得分:2)
这是因为error
回调有jqXHR
,textStatus
,errorThrown
参数 - 您必须引用jqXHR.responseText
- 请参阅jQuery doc。