防止jQueryajaxLoad使用缓存的方法小结
2023-06-13 09:15:18 时间
*url:是指要导入文件的地址。
*data:可选参数;因为Load不仅仅可以导入静态的html文件,还可以导入动态脚本,例如PHP文件,所以要导入的是动态文件时,我们可以把要传递的参数放在这里。
*callback:可选参数;是指调用load方法并得到服务器响应后,再执行的另外一个函数。
缓存这东西,在一定程度上加快了页面的装载,但是也常常给我们带来麻烦。我在上篇文章里简单介绍了jQuery中Load方法的使用。在实际运用中,我们可能会碰到浏览器缓存的问题。比如我就在IE7里碰到这个问题。
jQueryLoad样本代码:
$(document).ready(function(){
$("#labels").load("/blog/categories/labels.html");
//在页面装载时,在ID为#labels的DOM元素里插入labels.html的内容。
});
当我更新了labels.html以后,在IE7里load方法仍旧在使用旧的labels.html,就算我按刷新键也不管用。好在jQuery提供一个防止ajax使用缓存的方法,把下面的语句加在head的javascript文件里,就可以解决问题。
$.ajaxSetup({
cache:false//关闭AJAX相应的缓存
});
此外我再介绍几种方法解决缓存的方法。注意:我没有在jQueryload的问题上测试过,这些方法仅供参考!
1.更改文件名,比如把labels.html改成lables_new.html,但是这是没有办法的办法,一般没有人这么做。
2.在labels.html后加上特定时间,比如lables.html?20081116。在实际工作中,在我更新css/javascript文件后,我都是用这种办法来防止文件被缓存。
3.在labels.html文件的顶部加入以下声明:
<METAHTTP-EQUIV="Pragma"CONTENT="no-cache">
<METAHTTP-EQUIV="Expires"CONTENT="-1">
4.load函数不仅可以调用HTML,也可以调用script,比如labels.php,可以在php文件里使用header函数:
<?php
header("Cache-Control:no-cache,must-revalidate");
?>
相关文章
- Django MemCache 缓存使用方法和源码
- Django中的缓存机制及其实现方法
- Python的Flask框架使用Redis做数据缓存的配置方法
- Linux系统清除缓存的方法总结
- Linux清除缓存的简易方法(linux刷新缓存)
- SQLServer表合并:简便易行的方法(sqlserver合并表)
- 掌握Redis,轻松实践高效缓存技术(redis的使用方法)
- MSSQL数据库表结构的导出:一种快速简易的方法(mssql 表结构导出)
- mssql 一键清理缓存的简易方法(mssql 清缓存)
- 五种使用Redis进行数据缓存的方法(缓存redis的五中方式)
- 深入了解Redis缓存的使用方法(了解redis缓存的使用)
- 理解Redis缓存入门轻松掌握使用方法(如何理解redis缓存)
- 使用Oracle存储大量数据的简单方法(oracle中的大字段)
- Redis重新加载 恢复缓存性能的新方法(redis重加载)
- Redis缓存实现自动销毁的新方法(redis 自动销毁)
- Redis缓存清理提升性能的有效方法(redis缓存清理的方法)
- Redis缓存实现持久化的三大方法(redis 缓存持久化)
- 解决asp.netSharepoint无法连接发布自定义字符串处理程序,不能进行输出缓存处理的方法
- 使用PHP静态变量当缓存的方法
- Nagios监控WindowsServer2008配置方法
- javascript中声明函数的方法及调用函数的返回值