侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

Ajax对缓存的处理方法实例分析

前端  /  管理员 发布于 3年前   127

本文实例讲述了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程序设计有所帮助。


  • 上一条:
    最常用的15个前端表单验证JS正则表达式
    下一条:
    jQuery如何用正则表达式验证手机号、身份证号、中文名称
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • jq中实现图片压缩、base64转成file后上传至服务器示例(0个评论)
    • 在JavaScript中实现批量下载OSS中的文件代码示例(0个评论)
    • 如何优雅处理async await错误推荐:await-to-js库(0个评论)
    • lodash工具库(0个评论)
    • nginx + vue配置实现同域名下不同路径访问不同项目(0个评论)
    • 近期文章
    • 在go语言中以邮件标题中获取SPF和DMARC,来判断是否为垃圾邮件之垃圾邮件过滤器功能实现(0个评论)
    • 在go语言中使用attr字段标签提取XML属性数据示例(0个评论)
    • 在laravel中介绍一个生成假数据的PHP库:FakerPHP(0个评论)
    • 在laravel框架中对环境配置文件的加载过程步骤浅析(0个评论)
    • Laravel 10.12版本发布(0个评论)
    • 在go语言中如何记录每个HTTP请求到你的Web服务器、日志记录器?(0个评论)
    • 在Go语言中如何查找一个IP地址的网络地址?(0个评论)
    • ELK + Filebeat 搭建日志系统流程步骤(0个评论)
    • 在laravel中以curl的方式请求京东联盟api获取数据流程步骤(0个评论)
    • 在go语言中使用gin框架-中间件gin.BasicAuth()实现账号密码方式认证示例(0个评论)
    • 近期评论
    • 博主 在

      2023年国务院办公厅春节放假通知:1月21日起休7天中评论 @ xiaoB 你只管努力,剩下的叫给天意;天若有情天亦老,..
    • xiaoB 在

      2023年国务院办公厅春节放假通知:1月21日起休7天中评论 会不会春节放假后又阳一次?..
    • BUG4 在

      你翻墙过吗?国内使用vpn翻墙可能会被网警抓,你需了解的事中评论 不是吧?..
    • 博主 在

      go语言+beego框架中获取get,post请求的所有参数中评论 @ t1  直接在router.go文件中配就ok..
    • Jade 在

      如何在MySQL查询中获得当月记录中评论 Dear zongscan.com team, We can skyroc..
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-10
    • 2017-11
    • 2018-03
    • 2018-04
    • 2018-05
    • 2018-06
    • 2018-09
    • 2018-11
    • 2018-12
    • 2019-02
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2021-04
    • 2021-05
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客