AngularJS で HTTP ヘッダを設定するには


HTTP Headers を設定

AngularJS による HTTP リクエストについては、$httpProvider.defaults.headersオブジェクトで HTTP ヘッダ情報を設定できる。

1
$httpProvider.defaults.headers.common.Authorization = '...';

以下のように、get だけ、post だけに適用することも。

1
2
$httpProvider.defaults.headers.get['Authorization'] = '...';
$httpProvider.defaults.headers.post = { 'Authorization' : '...' };

(複数の書き方を例示するために、わざと違った書き方にしてます)

Cache-Control の設定例

IE は XHR (Ajax) リクエストでもキャッシュするようなので、IE をサポートするのであれば初めから Cache-Control などの設定を入れておくのがいいのかも。

1
$httpProvider.defaults.headers.common['Cache-Control'] = 'no-cache';

他にも If-Modified-Since を設定する必要がありそう。あるいは Expires のほうが適切なのかも。ここの設定について詳しい方、こっそり教えてください!