Javascript 无法分析Ajax调用错误部分中的json对象值

Javascript 无法分析Ajax调用错误部分中的json对象值,javascript,jquery,json,ajax,Javascript,Jquery,Json,Ajax,我对rest web API有以下Ajax调用:- $.ajax({ url: "/********/getbytitle('****')/items", type: "POST", contentType: "application/json;odata=verbose", data: JSON.stringify(item), headers: { "Accept&q

我对rest web API有以下Ajax调用:-

$.ajax({
    url: "/********/getbytitle('****')/items",
    type: "POST",
    contentType: "application/json;odata=verbose",
    data: JSON.stringify(item),
    headers: {
        "Accept": "application/json;odata=verbose",
        "X-RequestDigest": $("#__REQUESTDIGEST").val()
    },
    success: function (data) {
    
            if(data.d != null){

    //code goes here..

}
        
    },
    error: function (data) {
        alert(data.error.message.value);
        
        $("#customloader").hide();
    }
});
error
部分中,我想使用
alert(data.error.message.value)捕获错误消息值,但我在浏览器控制台中遇到以下错误:-

data.error.message.value is undefined!!
尽管JSON对象具有以下格式:-


如上图所述,如果用户未经授权,则返回错误。当收到未经授权的请求时,我们的应用程序将显示用户名/密码对话框。。但是我想在username/pasword对话框旁边显示警报,其中包含json错误消息。

问题在于
错误处理程序的第一个参数是XHR对象,而不是解析的json响应

要按需要执行此操作,您需要自己从XHR获取
responseText
,并在尝试读取
属性之前手动解析它。试试这个:

error: function(xhr) {
  var data = JSON.parse(xhr.responseText);
  console.log(data.error.message.value);

  $("#customloader").hide();
}

没问题,很乐意帮忙