AJAX缓存问题

迭代棱镜
• 阅读 391

浏览器第一次访问服务器的时候,需要从服务器加载很多的静态资源(CSS、JS、Image),并将这些资源文件缓存在浏览器中,当再次访问页面的时候,如果有相同的资源文件就直接到缓存中去加载,这样就会降低服务器的负载和带宽,加快用户访问。
但是这样也会出现bug,比如获取验证码,比如获取服务器动态数据,这个时候就要避免使用浏览器中的缓存(特别是IE浏览器,因为ie缓存做的很不错)
方法一:在URL地址中添加随机数,这样使得URL是唯一的。

 req.open('get','9-demo.php?'+Math.random());

 
方法二:设置header头,禁止浏览器缓存该文件

 header("Cache-Control:no-cache");
header("Pragma:no-cache");
header("Expires:-1");

使用以上两种方法可以轻松解决缓存问题!
转载于猿2048:➻《AJAX缓存问题》

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Spring Boot教程(二十)开发Web应用(1)
静态资源访问在我们开发Web应用的时候,需要引用大量的js、css、图片等静态资源。默认配置SpringBoot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则:/static/public/resources/METAINF/resources举例:
Stella981 Stella981
3年前
PHP 一致性hash算法初研究
问题来源:!(https://static.oschina.net/uploads/space/2017/1201/110233_AKPx_2409514.png)1、当所有用户都请求同一个key的时候如图所示,会导致缓存限流,从而访问db,产生雪崩,最后服务器负载严重,从而使业务垮掉2、当增加或者删减缓存服务器时,如何最大化的不令数据重新
Wesley13 Wesley13
3年前
DNS解析全过程分析
DNS解析过程!(https://oscimg.oschina.net/oscnet/cea17faee069f853dc0dcb337b3371124d3.png)1.检查浏览器缓存中是否缓存过该域名对应的IP地址用户通过浏览器浏览过某网站之后,浏览器就会自动缓存该网站域名对应的IP地址,当用户再次访问的时候
Stella981 Stella981
3年前
JSP中的Cookie和Session
1\.cookie1.1什么是cookie      浏览器访问服务器时,服务器会将一些数据(少量的,4KB左右)以setcookie消息头的方式发送给浏览器。浏览器会将这些数据保存下来(内存、或者以文件的形式保存在硬盘上)。当浏览器再次访问服务器时,会将这些数据以cookie消息头的方式发送过来。
Stella981 Stella981
3年前
Cookie学习笔记
会话的概念:打开浏览器,输入正确的URL访问服务器,期间浏览器向服务器请求资源,服务器给予资源响应,最后关闭浏览器,客户端和浏览器的连接断开。这一过程可理解为会话。Cookie入门:Cookie是在服务器创建,保存在客户端。Cookie会在客户端保存一些用户的信心,比如浏览信息。在客户端没有删除一个站点的Cookie情况下,在下一次在访问该站点
Easter79 Easter79
3年前
The way of Webpack learning (VI.)
使用commonChunkPlugin的都是基于webpack3.10.0,在webpack4中直接配置optimization就可以了。一:什么是长缓存?浏览器在用户访问页面的时候,为了加快加载速度,对用户请求的静态资源都会进行存储,但是每次代码更新或者升级的时候,我们都需要浏览器去加载新的代码。最方便的方法就是引入新的文件名称,只下载新的
Stella981 Stella981
3年前
SpringBoot 2,用200行代码完成一个一二级分布式缓存
缓存系统的用来代替直接访问数据库,用来提升系统性能,减小数据库负载。早期缓存跟系统在一个虚拟机里,这样内存访问,速度最快。后来应用系统水平扩展,缓存作为一个独立系统存在,如redis,但是每次从缓存获取数据,都还是要通过网络访问才能获取,效率相对于早先从内存里获取,还是不够逆天快。如果一个应用,比如传统的企业应用,一次页面显示,要访问数次redis,那效果
Stella981 Stella981
3年前
SpringBoot静态资源文件位置
SpringBoot可以JAR/WAR的形式启动运行,有时候静态资源的访问是必不可少的,比如:image、js、css等资源的访问。一、webjars配置静态路径实用性不大,简单了解即可。publicclassWebMvcAutoConfiguration{publicvoidaddReso
Easter79 Easter79
3年前
SpringBoot静态资源文件位置
SpringBoot可以JAR/WAR的形式启动运行,有时候静态资源的访问是必不可少的,比如:image、js、css等资源的访问。一、webjars配置静态路径实用性不大,简单了解即可。publicclassWebMvcAutoConfiguration{publicvoidaddReso
Stella981 Stella981
3年前
Django框架深入了解_05 (Django中的缓存、Django解决跨域流程(非简单请求,简单请求)、自动生成接口文档)
一、Django中的缓存:前戏:    在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面.当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务器的压力.缓存是将一些常用
taskbuilder taskbuilder
7个月前
TaskBuilder客户端请求前端静态文件的流程
任擎服务器支持支持以下三种静态文件:4.1.1纯静态文件纯静态文件是指存放在tasgine\web目录或其子目录下,可以直接在浏览器里加载或显示的文件,包括HTML文件、CSS文件、前端JS文件、图片、音视频文件等,客户端需要访问这种文件时,向任擎服务器发