AngularJS の "http get then" コンストラクト (promise) を使用しているときに、500 などの HTTP エラーを処理するにはどうすればよいですか?
$http.get(url).then(
function(response) {
console.log('get',response)
}
)
問題は、200 以外の HTTP 応答の場合、内部関数が呼び出されないことです。
AngularJS の "http get then" コンストラクト (promise) を使用しているときに、500 などの HTTP エラーを処理するにはどうすればよいですか?
$http.get(url).then(
function(response) {
console.log('get',response)
}
)
問題は、200 以外の HTTP 応答の場合、内部関数が呼び出されないことです。
追加のパラメーターを追加する必要があります。
$http.get(url).then(
function(response) {
console.log('get',response)
},
function(data) {
// Handle error here
})
$http.get(url).success(successCallback).error(errorCallback);
successCallback と errorCallback を関数に置き換えます。
編集:ローランの答えは、彼が使用していることを考えると、より正確then
です。それでも、この質問にアクセスする人々のための代替手段として、これをここに残しておきます。
上記では実際に作業できませんでした。したがって、これは誰かを助けるかもしれません。
$http.get(url)
.then(
function(response) {
console.log('get',response)
}
).catch(
function(response) {
console.log('return code: ' + response.status);
}
)
$http response
パラメータも参照してください。