Json Breeze.js解析XHR.responseText

Json Breeze.js解析XHR.responseText,json,parsing,breeze,responsetext,Json,Parsing,Breeze,Responsetext,自从从1.1.3升级到1.4.2以来,当Breeze试图解析HTML格式而不是JSON格式的responseText时,我一直遇到未捕获的JS错误。在版本1.1.3中,代码被包装在try/catch中,它捕获解析错误。该错误在“JSON.parse(XHR.responseText)”上抛出。但既然它被抓到了,这个效果很好。错误消息会向调用者弹出 var err = new Error(); err.XHR = XHR; err.message = XHR.statusText; err.res

自从从1.1.3升级到1.4.2以来,当Breeze试图解析HTML格式而不是JSON格式的responseText时,我一直遇到未捕获的JS错误。在版本1.1.3中,代码被包装在try/catch中,它捕获解析错误。该错误在“JSON.parse(XHR.responseText)”上抛出。但既然它被抓到了,这个效果很好。错误消息会向调用者弹出

var err = new Error();
err.XHR = XHR;
err.message = XHR.statusText;
err.responseText = XHR.responseText;
err.status = XHR.status;
err.statusText = XHR.statusText;
if (err.responseText) {
    try {
        var responseObj = JSON.parse(XHR.responseText);
        err.detail = responseObj;
        if (responseObj.ExceptionMessage) {
            err.message = responseObj.ExceptionMessage;
        } else if (responseObj.InnerException) {
            err.message = responseObj.InnerException.Message;
        } else if (responseObj.Message) {
            err.message = responseObj.Message;
        } else {
            err.message = XHR.responseText;
        }
    } catch (e) {

    }
}
return err;
在1.4.2中没有try/catch,我得到了一个未捕获的错误。我不知道我自己是不是该抓到这个。在以前的版本中,我不必做任何事情

function extractErrors(XHR) {
    if (!XHR.responseText) return null;
        var responseObj = JSON.parse(XHR.responseText);
        return responseObj && responseObj.EntityErrors;
}

谢谢

我将升级到Breeze的最新版本,现在是1.4.6。这个版本确实对新的HttpResponse对象有一个try/catch,它是XHR的包装器