我在AngularJS上学习在线课程,并且正在学习它的第一步。
我试图在表单提交后调用API,并根据API响应显示和隐藏一些数据。
我首先要做的是检查状态响应,以防无效API调用返回500错误。但是,看来我做不到。
我的服务文件的一部分:
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
那里。但是,如果无法验证。
AngularJS上的1.5.8版
使用.then()链接方法调用服务函数。
SignupController.$inject = ['MenuService'];
function SignupController(MenuService) {
var signupCtrl = this;
signupCtrl.submit = function() {
MenuService.getMenuItem(signupCtrl.user.favouritedish)
.then(function(result) {
console.log(result.data)
}, function(error) {
console.log(error.data)
})
};
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句