温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用Ajax怎么对缓存进行处理

发布时间:2021-05-08 17:42:33 来源:亿速云 阅读:131 作者:Leah 栏目:web开发

使用Ajax怎么对缓存进行处理?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

什么是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>
    <h3>ajax发起服务器端的请求(缓存处理)</h3>
    <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怎么对缓存进行处理的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI