从POST获取json数据

时间:2012-09-07 15:04:34

标签: jquery

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
        });

2 个答案:

答案 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/

查看successerror之间的区别

答案 1 :(得分:2)

这是因为error回调有jqXHRtextStatuserrorThrown参数 - 您必须引用jqXHR.responseText - 请参阅jQuery doc