2016-05-21 8 views
0

価格を表示するために使用されるJSONファイルがあります。 JSONファイルはサーバー側で30分ごとにリフレッシュされますが、クライアントがリフレッシュされると、彼はちょうど同じバージョンを取得します。有効期限を持つJSONファイルをダウンロードしてから、ダウンロードし直す必要はありませんか?JSONレスポンスをキャッシュする方法は?

+0

あなたがのsessionStorageかのlocalStorageでそれを格納することができます。あなたはそれの周りに少し有効期限の論理を置く必要があります。たぶん、2つのキーを保存し、1つは期限切れを制御します。 – Dismissile

+0

PHPを賢明にする方法がありますか?あるいは、jQueryにすべてを切り替える必要がありますか? – TheGuyWhoCodes

+0

HTTPサーバーとPHPのキャッシュコントロールを調べる必要があります。 – JAAulde

答えて

1

ブラウザがそのファイルのキャッシュに保存した日以降にファイルが変更されていない場合は、304 - Not Modified応答を返すようにサーバーを設定できます。基本的に、クライアントが文書を要求すると、要求ヘッダーに「If-Modified-Since」の日付を送信できます。その日以降にファイルが変更されていない場合、サーバーは304 - Not Modified応答で応答し、クライアントは代わりにキャッシュされたバージョンを使用します。

0

あなたがAJAX経由で呼び出しているあなたのphpファイルの先頭にこれを置く:

header("Cache-Control: max-age=1800"); 
header("Cache-Control: public", false); 

これは、ブラウザが1800秒のためにファイルをキャッシュするようになります。

あなたはjQueryのを使用している場合は、キャッシュプロパティをオンにすることを忘れないでください:

$.ajax({url:"yourfile.php",cache:true}) 
関連する問題