66

AngularJS の "http get then" コンストラクト (promise) を使用しているときに、500 などの HTTP エラーを処理するにはどうすればよいですか?

$http.get(url).then(
    function(response) {
        console.log('get',response)
    }
)

問題は、200 以外の HTTP 応答の場合、内部関数が呼び出されないことです。

4

6 に答える 6

146

追加のパラメーターを追加する必要があります。

$http.get(url).then(
    function(response) {
        console.log('get',response)
    },
    function(data) {
        // Handle error here
    })
于 2013-06-13T06:03:44.787 に答える
14

https://docs.angularjs.org/api/ng/service/$http

$http.get(url).success(successCallback).error(errorCallback);

successCallback と errorCallback を関数に置き換えます。

編集:ローランの答えは、彼が使用していることを考えると、より正確thenです。それでも、この質問にアクセスする人々のための代替手段として、これをここに残しておきます。

于 2013-06-13T06:04:05.673 に答える
0

上記では実際に作業できませんでした。したがって、これは誰かを助けるかもしれません。

$http.get(url)
  .then(
    function(response) {
        console.log('get',response)
    }
  ).catch(
    function(response) {
    console.log('return code: ' + response.status);
    }
  )

$http responseパラメータも参照してください。

于 2019-06-13T15:39:38.677 に答える