1

我正在单击按钮初始化下载。问题是第一次请求类型是200(第一次加载),当我再次点击下载时,它从缓存中获取数据(304 request type)我需要让它每次都加载新数据并禁用缓存。我怎样才能做到这一点?

目前我使用

 $("#downloadbutton").live("click", function () {
window.location = "Handlers/somename.ashx?value="+somevalue+"&xxxxx="+$(".someid").text();

on按钮实时点击功能。如果我们可以使用 ajax call(cache:false) 避免同样的情况,我很好。

4

2 回答 2

1

如果您有权访问目标页面,则可以在目标页面中使用以下元标记来禁用缓存。

<head>
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="pragma" content="no-cache" />    
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
</head>
于 2013-06-12T05:51:01.807 回答
1

在单击事件中调用的文件的查询字符串中添加一个随机数。这应该会触发浏览器重新加载而不是使用缓存,因为您正在欺骗它认为这是一个新的页面请求。

例子:

 $("#downloadbutton").live("click", function () {
var timestamp = (new Date()).getTime();
window.location = "Handlers/somename.ashx?value="+somevalue+"&xxxxx="+$(".someid").text() + "ts=" + timestamp;
于 2013-06-12T05:53:36.873 回答