0

非常に単純なJavaScript応答をキャッシュしようとしています。Railsを使用していますが、views / projects/index.js.erbには次のものしか含まれていません。

          alert('hi');

そして私が要求するとき

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

ポップアップ「hi」が表示され、サーバーログにjsとしてのProjects#indexアクションへのリクエストが行われたことがわかります。

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

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

サーバーはまだリクエストを受け取っているようですが、私が見逃した可能性のあるものを誰かが見つけることができますか?

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

4

1 に答える 1

1

何が悪いのかわかりました。jQueryは実際に着信スクリプトをで囲み、ブラウザが着信コードを評価するようにします。ただし、キャッシングメカニズムはコードをテキストとして保存するだけであり、1回再リクエストすると、コードはテキストとして返されますが、評価はされません。したがって、コードを明示的に評価する必要があります

于 2011-03-25T08:00:37.663 に答える