Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使javascript每次(不使用缓存数据)在鼠标单击时重定向到处理程序(页面)时加载新数据_Javascript_Jquery_Html_Ajax_Caching - Fatal编程技术网

如何使javascript每次(不使用缓存数据)在鼠标单击时重定向到处理程序(页面)时加载新数据

如何使javascript每次(不使用缓存数据)在鼠标单击时重定向到处理程序(页面)时加载新数据,javascript,jquery,html,ajax,caching,Javascript,Jquery,Html,Ajax,Caching,我正在单击按钮初始化下载。 问题是,第一次请求类型是200(第一次加载),当我再次单击下载时,它从缓存中获取数据(304请求类型) 我需要让它每次加载新数据并禁用缓存。我怎样才能做到这一点 目前我使用 $("#downloadbutton").live("click", function () { window.location = "Handlers/somename.ashx?value="+somevalue+"&xxxxx="+$(".someid").text(); 在按钮

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

目前我使用

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

在按钮上实时单击功能。如果我们可以使用ajax调用(cache:false)来避免相同的情况,我很好。

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

<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>

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

例如:

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

但这将禁用整个页面的缓存,这可能会随着加载时间的增加而降低性能。我们可以只为该按钮单击禁用缓存吗?我们可以在ajax jquery中进行页面重定向吗?因此,我们可以为特定的requestCan处理程序/somename.ashx输出缓存控制头指定cache:false?查看可能的重复:不,我不认为这会解决我的问题。在这种情况下,缓存数据会出现,即使在AJAX调用中给出了false,我也不会在这里进行任何AJAX调用,只是点击“javascript”按钮,这将调用一个处理程序,该处理程序将返回一些文档。谢谢:D它解决了问题,尽管从技术上讲不是这样指定不应在任何位置加载缓存!!