2017-03-03 18 views
0

私は、それらのいくつかaproachesの多くをしようとしていた:なし結果に角度1.5.6で応答ステータスコードを取得する方法は?

$http({ 
     method: 'GET', 
     url: '/Url'}).then(function successCallback(response) { 
     }, function errorCallback(response) { 
     }); 

    var req = { 
     method: 'GET', 
     interceptor: { 
      response: function (response) { 
       console.log(response) 
       var result = response.resource; 
       result.$status = response.status; 
       return result; 
      } 
     }, 
     url: url, 
     headers: { 
      'Authorization': token 
     } 
    } 

    $http(req).success(function (data, status, headers, config) { 
     console.log(data, status, headers, config); 
    }).error(function (data, status, headers, config) { 
     console.log(data, status, headers, config); 
    }); 

、他の多くのことを、私は本当に助けが必要! 私はどんな援助にも感謝します

+0

あなたは設定方法でインターセプタを設定する必要があります。 https://docs.angularjs.org/api/ng/service/$http –

+0

を参照してください。プランカの例を追加できますか?なぜなら、結果が出ないようにしようとしていたからです。 – nightmare

+0

提供された 'url'が有効でない場合、あなたの' response '関数は決して呼び出されないので、 'console.log(...)'あなたの 'response'関数 – Gaurav

答えて

0

最初のアプローチは、あなたが必要とするものに近づきます。

function successCallback(response) { 
    console.log('status code: ', response.status); 
} 

現在のところ、コールバックは空であるため、レスポンスオブジェクトとロギングステータスコードにアクセスしています。

+0

それは動作しません – nightmare

+0

あなたの例では、正しいURLを使用する必要があります。使用しているURLは何ですか? –

0

最初の方法はより直接的な方法ですが、私は応答関数が匿名であることを確信しています。両方にconsole.log()を入れると役立ちます。

$http({ 
    method: 'GET', 
    url: '/Url' 
    }).then(function(response) { 
     console.log(response.status); 
    }, function(response) { 
     console.log(response.status); 
    }); 

これでうまくいかない場合は、両方でconsole.log(応答)を入力するだけで何が得られるかを確認できます。

+0

これも動作しません – nightmare

+0

このようにしたときにconsole.log出力は何を出力しますか? Postman(https://www.getpostman.com/)は、httpリクエストをデバッグするための便利なツールです。リクエストした場合やエンドポイントが正しく設定されていない場合は、ステータスコードを取得できない可能性があります。 – Rozgony

0

すべてのあなたの要求を追跡したい場合は、httpinterceptorを使用することができます。

myModule.factory('myHttpInterceptor', function ($q) { 

    return { 
     response: function (response) { 
      // do something with success response 
      // status in response.status 
      return response; 
     }, 
     responseError: function (response) { 
      // do something with error response 
      // status in response.status 
      return $q.reject(response); 
     } 
    }; 

}); 

myModule.config(function ($httpProvider) { 
    $httpProvider.interceptors.push('myHttpInterceptor'); 
}); 
関連する問題