防止jQueryAjax加载使用缓存的方法综述

1。使用
jQuery的加载函数是请求另一个文件并加载到当前DOM的调用函数。加载方法的完整格式是加载(URL,{数据},{回调})。(注意,没有参数是GET模式请求,参数是POST方法)。

* URL:它表示导入文件。
*数据:可选参数;因为加载不仅可以导入静态HTML文件,还可以导入动态脚本,比如PHP文件,所以当我们导入动态文件时,我们可以将参数转移到这里。
*回调:可选参数;调用调用方法并接收服务器响应后执行的另一个函数。

缓存这东西,在一定程度上加快页面的加载,但常常给我们带来麻烦。我简要地介绍了负载的方法在文章的最后在jQuery的使用。在实际应用中,我们可能会遇到浏览器缓存的问题。例如,我在IE7中碰到这个问题。

加载示例代码:
复制代码代码如下所示:
$(文档)Ready(函数(){)
$(#标签)。负荷( / / /博客类别标签。html);
/ /页面加载,将在ID. #标签内容的labels.html DOM元素
});

当我更新labels.html,在IE7加载方法仍然使用旧labels.html,即使我按刷新键。幸运的是,jQuery提供了一种方法来防止Ajax使用缓存,并添加以下语句头的Javascript文件就可以解决问题。
复制代码代码如下所示:
ajaxsetup({美元。
缓存:假ajax关闭相应的缓存
});

另外,我将介绍几种解决缓存的方法。注意:我没有测试jQuery加载问题,这些方法仅供参考!

1。更改文件的名称,如改变labels.html到lables_new.html,但这是没有办法做到的,没有人会。

2。labels.html添加后的具体时间,如lables.html20081116.in工作实际,我更新的CSS和Javascript文件后,我用这种方法来防止文件被缓存。

三.添加下面的labels.html文件的顶部声明:




The 4.load function can not only call HTML, but also call script, such as labels.php, that can use the header function in the PHP file:
复制代码代码如下所示:
< PHP
标题(缓存控制:无缓存,must-revalidate);
>

其他两种解决方案:
向请求路径中的当前时间添加一个时间参数值,或者在表单中添加一个隐藏字段,将字段的值设置为当前时间。