как получить ответ после / когда 500 внутренняя ошибка сервера angularjs - PullRequest
0 голосов
/ 28 сентября 2018

Я получаю 500 Внутренняя ошибка сервера при вызове почтовой службы.У меня есть перехватчик, который откроет диалог, хотя диалог пуст.Кажется, я не могу получить ответ на этот вызов из-за ошибки 500. Но я вижу ответ на Chrome отладчик.Как получить ответ, несмотря на ошибку?

Мой код:

 -interceptor:


  responseError: function (rejection) {
                var bcsAuth = $injector.get('bcsAuth');
                var MobileLoading = $injector.get('MobileLoading');
                var MobileDialog = $injector.get('MobileDialog');
 switch (rejection.status) {case 500:
                        if (rejection.statusText.toLowerCase().trim() == 'internal server error') {
                            MobileDialog.alert("error", rejection.data.message, "OK");

                        } else if (rejection.data.code && rejection.data.code == 'ETIMEDOUT') {

                            MobileDialog.alert("WARNING", "CONNECTION_TIMEOUT", "OK");
                        }

Отладка в Google Chrome:

enter image description here enter image description here

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Поскольку вы получаете пустой диалог, выполняется любой из операторов if else.Я подозреваю, что rejection.data.message может быть пустым.Вам необходимо проверить формат json, выброшенного сервером.Ответ, который вы показываете, является необработанным или проанализированным.В любом случае он не показывает вложенный объект JSON.Это простой текст для меня.

0 голосов
/ 28 сентября 2018

РЕШЕНИЕ: ответ состоял в том, чтобы вырезать .message

и просто остаться с rejection.data, поскольку это было необработанное текстовое сообщение, а не объект json

MobileDialog.alert ("error", rejection.data, "OK");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...