2016-05-16 13 views
1

リクエストを行うたびにカスタムHTTPヘッダーをRESTサービスに送信します。私はApache HTTP Web Serverを使用しています。私は、次のコードを持っている:AngularjsとHTTPヘッダー

app.config(['$httpProvider', function($httpProvider){ 

if(!$httpProvider.defaults.headers.get){ 
    $httpProvider.defaults.headers.get = {}; 
} 

$httpProvider.defaults.headers.get['My-Token'] = 'some_test_token'; 
}]); 

をしかし、私はデベロッパーツールで、次を参照してください。

enter image description here

マイヘッダインライン他に。私は間違って何をしていますか?

答えて

0

AngularJS側でトラブルがありませんでした。私はちょうど私のアプリケーションのApache HTTPサーバーとバックエンド部分を構成します。 My Spring SecurityのフィルタチェーンがOPTIONSリクエストをブロックしました。

0

あなたが提供したスクリーンショットは、OPTIONS要求を処理しますが、GET要求を設定しています。 OPTIONS要求は、HTTPでのコンテンツネゴシエーションの実装の一部として送信されます。

この場合、プリフライトOPTIONSリクエストを送信しています。これは、将来のリクエストにmy-tokenヘッダーが含まれることを示します。これは、サーバーがクライアントにこの要求を処理しないように指示したり、条件付きアクションを実行したりできるようになるため、望ましい動作です。

ブラウザ(またはHTTPをデバッグするために使用している他のソフトウェア)で、GETリクエストを探して、ヘッダーが正しく表示されるようにしてください。

+0

です。しかし、私の安らかなサービスはdevtoolsのようなトークンを捕まえていませんでした。オプションヘッダーの後にget要求に従わない。オプションなしでちょうどGETを作る方法? – Nox

+1

ここでの目標は、OPTIONS要求を防ぐことではなく、サーバーがカスタムヘッダーを受け入れることを確認することです。これには、Apacheサーバーの設定方法と関係があります。ここの専門家ではない、私は恐れている。 慣例では、カスタムHTTPヘッダーは 'x- [header-name]'表記を使用するため、試してみることができるのは 'my-token'ではなく' x-my-token'です。 – Kazimieras

関連する問題