如何从AJAX响应中选择变量

时间:2015-01-11 15:26:57

标签: javascript jquery ajax

我收到了来自AJAX请求的以下回复(根据Chrome控制台):

`XMLHttpRequest {
statusText: "Not Found", 
status: 404, 
responseURL: "XXX", 
response: "{"apiVersion":"2.1","error":{"code":404,"message":…dException","internalReason":"User not found"}]}}", responseType: ""…`}

如何同时选择statusTextinternalReason

的值

当我尝试设置var msg = response.data.statusText;时,我得到Uncaught TypeError: Cannot read property 'statusText' of undefined

编辑:这里是上下文中的代码:

$.ajax({
    type: "GET",
    url: yt_url,
    dataType:"json",

    success: function(response)
    {
    // code
    }
    error: function(response)
    {
    handleError(response);
    }
 });


function handleError(response) {
    var msg = response.data.statusText;
    $('#status').html('An error occurred:' + msg);
}

2 个答案:

答案 0 :(得分:2)

您拥有字符串中的数据。如果要像对象一样访问它,则必须将其转换为一个。

您需要为数据所处的任何数据格式查找或编写解析器。

看起来它是JSON,因此您可以使用JSON.parse(string)

答案 1 :(得分:0)

如果您的json是有效对象,那么您应该访问:

var msg = response.statusText // not response.data.statusText as there is not key as data