From bdb7db1f754a54d1d6facbe73995493833dd11e5 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Wed, 5 Jan 2022 21:24:36 +0800 Subject: [PATCH] Enhance handleAbpErrorResponse --- npm/packs/jquery/src/abp.jquery.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/npm/packs/jquery/src/abp.jquery.js b/npm/packs/jquery/src/abp.jquery.js index 81ebf1e2e1..4ae0d8cf64 100644 --- a/npm/packs/jquery/src/abp.jquery.js +++ b/npm/packs/jquery/src/abp.jquery.js @@ -204,15 +204,23 @@ var abp = abp || {}; handleAbpErrorResponse: function (jqXHR, userOptions, $dfd) { var messagePromise = null; + var responseJSON = null; + + if (jqXHR.responseJSON) { + responseJSON = jqXHR.responseJSON; + } + else { + responseJSON = JSON.parse(jqXHR.responseText) + } if (userOptions.abpHandleError !== false) { - messagePromise = abp.ajax.showError(jqXHR.responseJSON.error); + messagePromise = abp.ajax.showError(responseJSON.error); } - abp.ajax.logError(jqXHR.responseJSON.error); + abp.ajax.logError(responseJSON.error); - $dfd && $dfd.reject(jqXHR.responseJSON.error, jqXHR); - userOptions.error && userOptions.error(jqXHR.responseJSON.error, jqXHR); + $dfd && $dfd.reject(responseJSON.error, jqXHR); + userOptions.error && userOptions.error(responseJSON.error, jqXHR); if (jqXHR.status === 401 && userOptions.abpHandleError !== false) { abp.ajax.handleUnAuthorizedRequest(messagePromise);