有沒有辦法忽略或繞過此錯誤代碼400
並且只是在發生此錯誤時觸發函數?angualrjs如何在POST成功後忽略狀態400
我嘗試這樣做: -
vm.createOrder = function() {
var deferred = $q.defer(); // update
orderService.createOrder()
.then(function (response, status) {
deferred.resolve(response); // update
if(status == 400) {
console.log('Should never happen but trigger a function anyway! ');
localStorage.clear();
}
console.log('Successfully created an order: ', response.status);
})
}
orderService: -
createOrder: function() {
return $http({
url: 'apiURL',
method: 'POST'
})
}
,但它甚至不console.log
在if(status)
條件或success
字符串,但POST方法確實發佈了我想發佈的數據,但它返回的錯誤代碼爲400
。
編輯固定
orderService.createOrder()
.then(function (response) {
console.log('Successfully created an order: ', response.status);
})
.catch(function (e) {
console.log('Should never happen but trigger a function anyway! ');
localStorage.clear();
console.log(e);
})
您的'createOrder'函數是否返回(並解析)Promise?如果你的'.then()'中沒有任何內容在觸發,那麼我會檢查的第一件事是... –
我更新了代碼,嘗試使用'$ q'推遲但不確定是否你實際使用它。如果沒有,你會怎樣? – MrNew
添加服務代碼,返回'$ http'請求 – MrNew