我正在尝试缓存一个非常简单的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'
});
我看到服务器仍然收到请求 任何人都可以发现我可能错过的任何东西吗?
谢谢!
答案 0 :(得分:1)
我发现了什么是错的。 jQuery实际上用传入脚本包围,以便浏览器评估传入的代码。但是缓存mechansim只是将代码保存为文本,当重新请求时,它将代码作为文本返回但不对其进行评估。因此,需要明确地评估代码