如何 select 来自 AJAX 响应的变量

How to select a variable from an AJAX response

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

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

如何 select 同时获得 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);
}

您有字符串中的数据。如果你想像访问对象一样访问它,那么你必须将它转换为一个。

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

好像是JSON,所以可以用JSON.parse(string)

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

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