javascript - JQuery 加载不从缓存加载

标签 javascript jquery asp.net-mvc

在我的 Controller 上

[OutputCache(Duration = 60, Location = OutputCacheLocation.Any)]

我有这个属性。在我看来,我有

<div id="hot-topics-replacement" url="@Url.Action("IndexPartial", "Topics")"></div>

这是 JQuery 代码

var url = $("#hot-topics-replacement").attr("url");
$("#hot-topics-replacement").load(url, function () { ResizeHotTopics(); });

它总是向服务器发出请求。我预计它至少会缓存到浏览器(我正在 Chrome 上进行测试),但它没有这样做。

我不知道我的错误在哪里。

编辑已解决 当我检查响应 header 时,我发现上次修改日期和到期日期之间只有 10 秒,而不是 60 秒。现在我将缓存持续时间设置为 200 秒,它可以工作。

据我了解,服务器和客户端之间的日期时间有些可疑。

最佳答案

没有错误。

我想你的问题是在你的场景中如何使用这个功能。如果您在浏览器中按 F5,客户端缓存就会消失。检查this answer .

无论如何,我建议您检查项目客户端缓存中的任何位置是否已禁用。像这样的东西:

$.ajaxSetup ({
    // ...
    cache: false
    // ...
});

关于javascript - JQuery 加载不从缓存加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36313099/

相关文章:

javascript - 从数组指令中删除重复项

php - 两个数组相乘名称 x

Jquery 将 css 类添加到表格的第一行

asp.net-mvc - 使用 ASP.NET MVC,我可以使用 jQuery GET 和 FilePathResult 下载文件吗?

jquery - MVC、jQuery 和处理错误的最佳实践

asp.net-mvc - AzureReader2 与 ImageResizer 前缀问题

javascript - curry lodash api方法

javascript - Node.js 如何处理传入的请求?

javascript - node-fetch 仅返回待处理的 promise

javascript - 如何使用 javascript/jquery 仅显示具有特定类的 li?