jquery脚本请求没有缓存

时间:2011-03-23 02:09:36

标签: jquery ruby-on-rails ajax caching getscript

我正在尝试缓存一个非常简单的JavaScript响应。我使用rails,我的views / projects / index.js.erb只包含以下内容:

          alert('hi');

当我提出要求时

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

我得到弹出窗口'hi',我在我的服务器日志中看到已经向它做了一个对Projects#index action的请求。

然后在没有刷新浏览器的情况下再次进行操作

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

我看到服务器仍然收到请求 任何人都可以发现我可能错过的任何东西吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

我发现了什么是错的。 jQuery实际上用传入脚本包围,以便浏览器评估传入的代码。但是缓存mechansim只是将代码保存为文本,当重新请求时,它将代码作为文本返回但不对其进行评估。因此,需要明确地评估代码