Я следую онлайн-курсу в AngularJS, и я на первых шагах изучаю его.Получить статус ответа HTTP-ответа на AngularJS
Я пытаюсь вызвать API после отправки формы и на основе ответа API, показать и скрыть некоторые данные.
Сначала я пытаюсь проверить ответ на состояние, если он возвращает 500 ошибок для недействительного вызова API. Однако, похоже, я не могу этого сделать.
Часть моего служебного файла:
service.getMenuItem = function (shortName) {
return $http.get(ApiPath + '/menu_items/' + shortName + '.json')
.then(function successCallback(response) {
return response.data;
}, function errorCallback(response) {
return response.status;
})
};
И на мой контроллер:
SignupController.$inject = ['MenuService'];
function SignupController(MenuService) {
var signupCtrl = this;
signupCtrl.submit = function() {
signupCtrl.response = MenuService.getMenuItem(signupCtrl.user.favouritedish);
if (signupCtrl.response == 500) {
signupCtrl.dishError = true;
}
};
}
Если у меня нет какой-либо ошибки на HTTP вызова $, все работы, как это должно быть. Однако, с ошибкой 500, кажется, что нет. Я попытался зарегистрировать signupCtrl.response
на моем контроллере, и value: 500
есть. Но if не может быть проверен.
Version 1.5.8 на AngularJS
Каков текущий результат вашего ответа? Просто число или объект? – Aer0
@ Aer0 Это объект. $$ state: Object -> status: 1 и value: 500 – Tasos
Не уверен прямо сейчас, но tt может работать с 'signupCtrl.response.value'. – Aer0