这篇文章主要介绍了Ajax对缓存的处理方法,简单描述了缓存的功能,并结合实例形式分析了禁止浏览器对动态程序文件缓存的实现方法,需要的朋友可以参考下
本文实例讲述了Ajax对缓存的处理方法。分享给大家供大家参考,具体如下:
缓存
浏览器的一次请求需要从服务器获得许多的css、img、js等相关文件,如果每次请求都把相关的资源文件加载一次,对带宽、服务器资源、用户等待时间都有严重的损耗,浏览器有做优化处理,其把css、img、js等文件在第一次请求成功后就在本地保留一个缓存备份,后续的每次请求就在本身获得相关的缓存资源文件,可以明显的加快用户的访问速度。
css、img、js等静态文件可以缓存,但是动态程序文件如php文件就不能缓存,即使缓存我们也不要其缓存效果。
禁止浏览器对动态程序文件缓存的方法:
(1)给请求的地址设置随机数[推荐]
(2)给动态程序设置header头信息
给请求的地址设置随机数,避免缓存效果:
<!--10-cache.html-->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
function f1(){
var xhr = new XMLHttpRequest();
xhr.open('get', './10.php?' + Math.random());//保证每次请求的地址都不一样
xhr.send(null);
}
</script>
</head>
<body>
<h2>ajax发起服务器端的请求(缓存处理)</h2>
<input type="button" value="触发" onclick="f1()">
</body>
</html>
10.php
<?php
$fp = fopen("./10.txt", "a");//追加方式打开10.txt文件(文件不存在会自动创建)
fwrite($fp,"java");//给文件写内容
fclose($fp);//关闭文件
?>
给动态程序设置header头信息:
10.php
<?php
//设置header头禁止浏览器缓存当前页面
header("Cache-Control:no-cache");
header("Pragma:no-cache");
header("Expirse:-1");
$fp = fopen("./10.txt", "a");//追加方式打开10.txt文件(文件不存在会自动创建)
fwrite($fp,"java");//给文件写内容
fclose($fp);//关闭文件
?>
更多关于ajax相关内容感兴趣的读者可查看本站专题:《jquery中Ajax用法总结》、《JavaScript中ajax操作技巧总结》、《PHP+ajax技巧与应用小结》及《asp.net ajax技巧总结专题》
希望本文所述对大家ajax程序设计有所帮助。
本文标题为:Ajax对缓存的处理方法实例分析
基础教程推荐
- 关于 css:WebKit (iPad) CSS3: 背景过渡闪烁 2022-09-21
- vue的 Mixins (混入) 2023-10-08
- ECSHOP中实现ajax弹窗登录功能 2023-01-31
- 分页技术原理与实现之无刷新的Ajax分页技术(三) 2023-01-20
- 深入浅析Jsonp解决ajax跨域问题 2022-12-28
- 基于bootstrap的上传插件fileinput实现ajax异步上传功能(支持多文件上传预览拖拽) 2023-02-01
- ExtJS 3.x DateField menuListeners 显示/隐藏 2022-09-15
- Vue+WebSocket实现在线聊天 2023-10-08
- 解决ajax的delete、put方法接收不到参数的问题方法 2023-02-23
- 第7天:CSS入门 2022-11-04