私は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
はそこにあります。しかし、ifを検証することはできません。
バージョン1.5.8 on AngularJS
回答の現在の出力は何ですか?数字やオブジェクトだけ? – Aer0
@ Aer0それはオブジェクトです。 $$ state:Object - > status:1とvalue:500 – Tasos
今は分かりませんが、ttは 'signupCtrl.response.value'で動作します。 – Aer0