当前位置:首页 » 文件管理 » ajax浏览器缓存

ajax浏览器缓存

发布时间: 2023-07-17 07:06:05

① 有关jquery中ajax的缓存问题,怎么解决

jquery中ajax的缓存问题需要增加参数cache:
$.ajax({
type: "GET",
cache: true,
url: 'aa.php',
dataType: "html",
cache: true,
success: function (res) {
$('.page-loading').remove();
$('.page-content .page-content-body').html(res);
});
这样类似以下请求就可以缓存了:
aa.com/aa.php
aa.com/aa.css
aa.com/aa.js?_=1373600904652

② Js 代码中,ajax请求地址后加随机数防止浏览器缓存的原因

看到别人写的JS,ajax请求地址后加随机参数,比如XXXX?t=
+
new
Date().getTime()。
一开始搞不懂为什么,网上查了资料,原因是防止浏览器缓存。
浏览器为了提高用户访问同一页面的速度,会对页面数据进行缓存。当url请求地址不变时,
有时候会导致浏览器不发送请求,直接从缓存中读取之前的数据。
如果数据改变了,而没加随机数,读取的数据会跟之前一样。
加上随机数,就是欺骗浏览器url改变了,会每次都向服务器发送请求而不去读缓存

③ Ajax问题:最新的浏览器(谷歌32,IE10,火狐24延长版)都自动阻止缓存了吗

这个看浏览器的设置,加随机数的方式显然更稳妥的解决这个问题。
加随机数之后,虽然地址没变,但是浏览器依然会认为你请求的是新url,所以或直接请求服务器,而没有随机数的话,请求动态的内容就很明显了,比如数据库内读取的内容,那样的内容多半会缓存,浏览器会直接读取缓存而不是发送新的请求。

④ 用Ajax读取的数据会被ie缓存,要怎么办

这个存放空间, 们就称它为ie缓存。以后 们每次访问网站时,ie会首先搜索这个目录,如果其中已经有访问过的内容,那ie就不必从网上下载,而直接从缓存中调出来,从而提高了访问网站的速度。设置ie缓存大小:要提高ie的访问速度,ie缓存是必不可少...

⑤ 如何禁用jquery ajax缓存

我们先看看这个问题是怎么引起来的:

如果没有进行额外设置的话,如果请求的地址和参数及参数的值完全一样,就会发生jquery ajax使用缓存的情况。

jquery ajax使用缓存的解决方案:
1.在请求的url后面加上一个随机参数(***.do?random=Math.random)这不失为一个好方法,缺点就是在所有的jquery ajax请求的地方都要加上这个随机参数,新项目还行,老项目的花,这是个巨大的工作量。
2.给jquery ajax请求设置禁用缓存的全局设置
我们都知道在jquery ajax的的方法中有个cache参数,如果设置为false,那么就不进行缓存。这么怎么设置全局的jquery ajax cache参数呢?
答案就是ajaxSetup() 方法,该方法可以为所有的ajax请求统一设置默认参数。那么可以设置如下代码:
$(function(){
$.ajaxSetup ({
cache: false //关闭AJAX缓存
});
});

最后如果没有common.js文件(所有页面都调用的JS文件),那么把这段代码放到jquery库文件里面吧。

解答完毕!

⑥ ajax请求请求数据缓存问题分析以及解决方案

在发送ajax请求的时候,为了保证每次的都与服务器交互,就要传递一个参数每次都不一样,这里就用了时间戳

大家在系统开发中都可能会在js中用到ajax或者dwr,因为IE的缓存,使得我们在填入相同的值的时候总是使用IE缓存

什么是Ajax缓存原理?

Ajax在发送的数据成功后,会把请求的URL和返回的响应结果保存在缓存内,当下一次调用Ajax发送相同的请求时,它会直接从缓存中把数据取出来,这是为了提高页面的响应速度和用户体验。当前这要求两次请求URL完全相同,包括参数。这个时候,浏览器就不会与服务器交互。

Ajax缓存的好处

这种设计使客户端对一些静态页面内容的请求,比如图片,css文件,js脚本等,变得更加快捷,提高了页面的响应速度,也节省了网络通信资源。

Ajax缓存的不足

Ajax缓存虽然有上述的好处,但是如果通过Ajax对一些后台数据进行更改的时候,虽然数据在后台已经发生改变,但是页面缓存中并没有改变,对于相同的URL,Ajax提交过去以后,浏览器还只是简单的从缓存中拿数据,这种情况当然就不行了。

四、解决Ajax缓存问题的方法

解决这个问题最有效的办法是禁止页面缓存,有以下几种处理方法:

1、在ajax发送请求前加上 xmlHttpRequest.setRequestHeader(“Cache-Control”,”no-cache”);

2、在服务端加 header(“Cache-Control: no-cache, must-revalidate”);

3、在ajax发送请求前加上 xmlHttpRequest.setRequestHeader(“If-Modified-Since”,”0″);

4、在 Ajax 的 URL 参数后加上 "?fresh=" + Math.random(); //当然这里参数 fresh 可以任意取了

5、第五种方法和第四种类似,在 URL 参数后加上 "?timestamp=" + new Date().getTime();

6、用POST替代GET:不推荐

7、 jQuery 提供一个防止ajax使用缓存的方法:

javascript" language=" JavaScript ">

$.ajaxSetup ({

cache: false //close AJAX cache

});

8、修改load 加载的url地址,如在url 多加个时间参数就可以:

function loadEventInfoPage(eventId){

$.ajaxSetup ({

cache: true // AJAX cache  下面加上时间后load的页面中的js、css图片等都会重新加载,

//加上这句action会重新加载,但是js、css、图片等会走缓存

});

$("#showEventInfo").load(ctx + "/custEvents/viewEvent.action",  {"complaint.Id":eventId, "tt":(new Date()).getTime()},function(){})

}

9、设置html的缓存

⑦ AJAXrequest.status为404怎么清缓存

电脑上下载360安全卫士或者腾讯电脑管家,对系统进行清理,可以清理系统缓存

热点内容
r7000p2021买哪个配置 发布:2025-02-04 06:40:17 浏览:965
如何消除微信小程序缓存 发布:2025-02-04 06:34:24 浏览:633
python27mysqldb 发布:2025-02-04 06:28:44 浏览:768
svn文件夹权限 发布:2025-02-04 06:23:47 浏览:900
师编程 发布:2025-02-04 06:22:51 浏览:169
加密类型wpa 发布:2025-02-04 06:21:27 浏览:178
互联网与云服务器 发布:2025-02-04 06:15:56 浏览:254
硬盘挖矿源码 发布:2025-02-04 06:15:45 浏览:76
宝马3系哪个配置合适 发布:2025-02-04 06:03:10 浏览:328
磁盘存储器的管理课后答案 发布:2025-02-04 05:58:58 浏览:600