質問

非常にシンプルなJavaScript応答をキャッシュしようとしています。私はRailsを使用しています、そして私のビュー/プロジェクト/index.js.erbには以下のみが含まれています:

          alert('hi');

そして、私が要求するとき

  $.ajax({
    type: 'GET',
    cache: true,
    url : '/projects',
    dataType: 'script'
  });

ポップアップ「こんにちは」を取得し、サーバーログで、JSが作成されたときに#インデックスアクションをプロジェクトにリクエストすることがわかります。

その後、ブラウザを更新せずに、私はもう一度やります

  $.ajax({
    type: 'GET',
    cache: true,
    url : '/projects',
    dataType: 'script'
  });

サーバーはまだリクエストを受け取っていると思います。誰もが私が見逃したかもしれないものを見つけることができますか?

ありがとうございました!

役に立ちましたか?

解決

何が悪いのかを見つけました。 jQueryは実際に着信スクリプトをAで囲んでいるため、ブラウザが着信コードを評価します。しかし、キャッシュメカンシムは単にテキストとしてコードを保存するだけで、再追跡すると、コードをテキストとして返しますが、評価しません。したがって、コードを明示的に評価する必要があります

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top