私はASP.NET Web APIを持っています。私は、単純なHTTPリクエストを行うために角度4を使用しています:角4 - HttpErrorResponseでカスタムHTTPヘッダーを取得できません
getInfo(url: string)
{
this.http.get<MyResponse>(url).map((resultModel: MyResponse) => {
return resultModel;
});
}
私は以下のようなものを応答を購読する:
this.getInfo()
.subscribe(
result => {
if(wasSuccess(result))
{
do things
},
error => {
if(error.status == 401)
{
var url = error.headers["x-login_page"];
window.location.href = url;
}
}
);
私はASP.NETのWeb APIコントローラでCORSを有効にしています。
Screenshot of Chrome Network Output
しかし、私はCORSが正しくありことができます、と私は読んでもらいたいカスタムヘッダーエントリ(X-login_page)があることがわかりChromeでネットワークの応答を見てみると
x-login_pageのカスタムヘッダー値にアクセスしようとしたとき
var url = error.headers["x-login_page"];
URLは未定義です。私はクロームのデバッガでエラーオブジェクトを見てみると、私はエラーオブジェクトがHttpErrorResponseオブジェクトであることを参照してください。
私はヘッダを展開すると、あなたは彼らがどのような方法で似ていないことがわかりますネットワーク応答に示すヘッダ:
は、私はむしろ、いくつかの置換ヘッダよりも、エラーキャッチに実際のHTTPヘッダを取得する方法を把握することはできません。すべての提案に開放されています。ありがとう!
ああ愛のために....ありがとう! – user2047553
問題ありません!オートコンプリート付きのIDEを使用していない場合は、それほど明白ではありません。それがあなたのために働くなら正解とマークすることを忘れないでください;) – jamesthollowell