0

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

          alert('hi');

当我要求

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

我收到弹出窗口“嗨”,我在我的服务器日志中看到一个对 Projects#index 操作的请求,因为它已经向它发出了 js 请求。

然后不刷新浏览器,我再做一次

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

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

谢谢!

4

1 回答 1

1

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

于 2011-03-25T08:00:37.663 回答