くろねこの栞

tera911が思ったことを書いていくだけ

ng-resourceで取得する際キャッシュを無効にする

Angular.jsのng-resourceを使用して開発している時、 history backなどで戻った時に、フェッチ用関数は実行するが、 キャッシュからデータを拾ってくるため実際にはhttp requestは飛ばないことがありました。

きちんとデータを取得してほしいので毎回きちんとhttp requestを送信するようにします。

ng-resourceを使う時HTTP headerを書き換える

HTTP headerに If-Modified-Since: 0 をつけるとキャッシュからデータを拾わなくなる。

app.factory 'Resource', ['$resource', ($resource) ->
  $resource '/api/v1/nfo/:id', id: "@id" ,
    query:
      method: "GET",
      isArray: true,
      headers: {
        'If-Modified-Since': 0
      }

とりあえずこれでできます。

とりあえずって感じが嫌なのでまた詳しく調べましょうか。