当前位置:首页 » 文件管理 » ajax清除缓存

ajax清除缓存

发布时间: 2023-02-20 02:12:18

‘壹’ 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的缓存

‘贰’ 如何禁用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库文件里面吧。

解答完毕!

‘叁’ “mvc3使用微软自带的ajax加载分部视图,如何清除缓存”

建议别使用微软的,换成jquery多好用~

‘肆’ AJAXrequest.status为404怎么清缓存

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

‘伍’ 使用ajax是出现网页上有错误怎么解决

"网页上有错误原因:
1.网页本身的问题,目前许多网站都是用的免费共享型模板,一般这样的模板都存在不通用,原模板的所有js(javascript)脚本可能又没有被完全用到。加之设计者的水平或是疏忽等问题。导致在页面上找不到js对象。就会显示出网页有问题的现象。
2.用户电脑本身问题。如是用的浏览器的版本问题,或者所浏览页面需要某些插件和组件,可能曾经设置屏蔽和没有安装都可能出现网页上有错误问题。
3.恶意病毒和流氓插件引起。许多网民在不知情的情况下,安装一些带有流氓捆绑插件的安装程序,这样的情况也容易导致出现网页上有错误。

网页上有错误解决方案
首先,我们来介绍下手动解决网页上有错误解决方法(操作较繁琐)
1、点击“开始”菜单,打开“运行”。
2、输入regsvr32 jscript.dll后选择“确定”。 出现提示(jscript.dll中的DIIRegisterServer成功)后,点击“确定”。
3、再次输入regsvr32 vbscript.dll选择“确定”。 再一次出现提示(vbscript.dll中的DIIRegisterServer成功)后,点“确定”。 经过以上两次成功提示,说明已成功修复IE组件。
4、将浏览器的过滤等功能关闭后,清除一下浏览器的缓存(工具->Internet选项->(在Internet临时文件框中-删除Cookies),再点Internet临时文件框中删除文件(记得勾上删除所有脱机内容),确定后,然后再重新打开浏览器尝试!
软件解决网页上有错误
下载金山毒霸2011——病毒查杀——快速扫描,金山毒霸2011在清除电脑内捆绑的恶意插件以及盗号木马病毒的同时能智能修复电脑中存在的问题。"
按照我的方法操作解决问题,不行再问我。

‘陆’ 浏览器缓存可以清理吗

问题一:怎么样清理浏览器缓存垃圾 使用浏览器会逐渐累积垃圾,导致计算机的运行过慢,因此保持日常性的清理是非常有必要的;
清理垃圾的操作可以分为浏览器本身清理或者采取电脑管家类的保护进行清理;

浏览器本身清理(以搜狗浏览器为例),点击浏览器工具选项,进入工具管理,点击清除浏览记录,在弹出窗口界面勾选需要清理的记录内容,点击立即清除即可;

利用浏览器以外的安全防护软件进行清理(以QQ管家为例),点击清理垃圾,等待扫描垃圾,扫描完成后点击立即清理完成清理即可。

问题二:IE浏览器怎么清理缓存 操作方法:请您点击任何一个网页上方的“工具”,选择“Internet选项”,然后弹出一个小窗口,以下是IE浏览器6.0、7.0、8.0的简单说明。 IE6.0 工具――Internet选项――删除Cookies、删除文件(勾选删除脱机文件) IE7.0 工具――Internet选项――删除――全部删除(勾选“也删除加载项存储的文件和设置”) IE8.0 工具――Internet选项――删除――勾选Internet临时文件、cookie(不勾选保留收藏夹网站数据),点击删除 下面是IE浏览器5个不同版本的操作图,请您根据自己使用IE浏览器版本不同操作: IE6.0的浏览器: IE7.0的浏览器: IE8.0的浏览器: 搜狗(sogou)浏览器: 360浏览器: 下面补充一下IE9.0浏览器 点击“删除”,在打开的新窗口中取消勾选“保留收藏夹网站数据”,勾选其它选框,点击“删除”即可。 其他浏览器: 世界之窗(Theworld 3) 菜单栏 工具-----清除浏览记录 选择要清理的内容,点击“立即清理”即可。 火狐浏览器(Firefox 4) 菜单栏 工具-------清空最近历史记录 弹出界面,单击“详细信息” 选择要删除的内容,选择历史记录的时间,单击“立即清除”即可。 360极速浏览器(360 chrome) 右侧“扳手”图标-------工具-------清除浏览数据 选择要清除的内容和时间,单击“清除浏览数据”即可。 网络浏览器 点击右侧齿轮状图标-------清除浏览记录 弹出对话框 选择需要清除的时间和内容,单击“清除”即可。 谷哥浏览器(Google Chrome) 右侧“扳手”图标-------工具-------清除浏览数据 弹出对话框,选择清除内容和时间,单击“清除浏览数据”即可。 傲游浏览器(Maxthon 2) 菜单栏 工具------清除记录 弹出对话框 选择你要清除的内容,单击“开始清除”即可 Opera 11 工具栏 菜单-------设置--------删除私人数据 弹出对话框,点击“详细选项” 选择你要删除的内容,单击“删除”即可 腾讯TT浏览器 菜单栏 工具-------清除浏览记录 弹出对话框 点击“全选”------“清除”即可。 苹果浏览器(Safari) 点击右侧齿轮状图标--------勾选显示菜单栏 菜单栏 编辑-------清空缓存 弹出确认对话框,点击“清空”。 菜单栏 历史记录------清除历史记录 弹出对话框,点击“清除”。 注:更多精彩教程请关注三联软件使用栏目

问题三:如何清除浏览器缓存? 浏览器缓存(Browser Caching)是为了节约网络的资源加速浏览,浏览器在用户磁盘上对最近请求过的文档进行存储,当访问者再次请求这个页面时,浏览器就可以从本地磁盘显示文档,这样就可以加速页面的阅览。
清除缓存的方法:

IE浏览器:

打开IE,选择“工具--internet选项”,切换到“高级”选项卡,找到“关闭浏阀器时清空internet临时文件夹”,并将其选中,确定即可;

Mozilla Firefox 浏览器:

a、单击浏览器顶部的Tools(工具)菜单,并选择Options(选项);

b、单击Privacy(隐私);

c、单击Cache(高速缓冲)旁边的Clear(清空缓存);

d、单击OK(确定);

Mozilla、Netscape浏览器:

a、注销您的 AdSense帐户。关闭所有其他打开的浏览器窗口;

b、单击浏览器顶部的Edit(编辑)菜单,然后选择Preferences(首选项);

c、单击Advanced(高级)旁边的+;

d、单击Advanced(高级)下面的Cache(高速缓存);

e、单击Clear Cache(清除高速缓存);

f、单击OK(确定);

Safari 浏览器:

a、注销您的 AdSense 帐户。关闭所有其他打开的浏览器窗口;

b、打开浏览器工具栏中的Safari菜单;

c、选择Empty Cache(清空缓存);

d、单击该对话框中的Empty(清空)。

问题四:浏览器缓存的临时文件可以删除吗 可以,浏览器缓冲文件的作用是暂时保存网页里触素材,使下次打开相同网页时速度会快一些。删除后完全不会影响到使用。定期清理浏览器缓存可以释放磁盘空间,是个好习惯。

问题五:清理IE缓存什么意思对电脑有没有用 每次上网打开的网页在电脑上都会有记录.这些记录会占用很大的空间.所以需要手动地删除.
但是,如果你打开的网页是你以前曾浏览过的,也就是IE缓存里有的,则打开的速度要快些.所以如果你删除IE缓存,会影响打开网页的速度.

因此,建议你过一段时间再删除一次.

问题六:网络浏览器怎么清理缓存 打开网络浏览器最新版本7.0,点击右上角“三”菜单

问题七:如何彻底清除浏览器的缓存? 最好卸载了重新安装,彻底。
也可以换个好点的浏览器,我现在用的QQ浏览器清理缓存功能很好。

它是采用的国产单核浏览器,基于谷歌Chrome开源项目,速度是刚刚的。

用它浏览网页的时候,可以瞬间开启20多个网页。我经常开视频,在上面一点也没有感觉卡,

纯属个人建议。供你参考。

问题八:能用JS或者前端的什么方法实现清除浏览器缓存吗 meta方法
不缓存

清理form表单的临时缓存

其实form表单的缓存对于我们书写还是有帮助的,一般情况不建议清理,但是有时候为了安全问题等,需要清理一下!

jquery ajax清除浏览器缓存

方式一:用ajax请求服务器最新文件,并加上请求头If-Modified-Since和Cache-Control,如下:

$.ajax({

url:'haorooms',

dataType:'json',

data:{},

beforeSend :function(xmlHttp){

xmlHttp.setRequestHeader(If-Modified-Since,0);

xmlHttp.setRequestHeader(Cache-Control,no-cache);

},

success:function(response){

操作

}

async:false

});

方法二,直接用cache:false,

$.ajax({

url:'haorooms',

dataType:'json',

data:{},

cache:false,

ifModified :true ,

success:function(response){

操作

}

async:false

});

方法三:用随机数,随机数也是避免缓存的一种很不错的方法!

URL 参数后加上 ?ran= + Math.random(); 当然这里参数 ran可以任意取了

方法四:用随机时间,和随机数一样。

在 URL 参数后加上 ?timestamp= + new Date().getTime();...>>

‘柒’ JS如何清除IE浏览器缓存

一、CSS和JS为什么带参数(形如.css?t=与.js?t=)怎样获取代码
css和js带参数(形如.css?t=与.js?t=)
使用参数有两种可能:
第一、脚本并不存在,而是服务端动态生成的,因此带了个版本号,以示区别。 即上面代码对于文件来说 等价于 但浏览器会认为他是 该文件的某个版本!
第二、客户端会缓存这些css或js文件,因此每次升级了js或css文件后,改变版本号,客户端浏览器就会重新下载新的js或css文件 ,刷性缓存的作用。
第二种情况最多,也可能两种同时存在。
版本号,可以是一个随机数,也可以是一个递增的值,大版本小版本的方式,或者根据脚本的生成时间书写,比如就是精确到了生成脚本的秒,而 2.3.3 就是大版本小版本的方式。
二、关于浏览器缓存
浏览器缓存,有时候我们需要他,因为他可以提高网站性能和浏览器速度,提高网站性能。但是有时候我们又不得不清除缓存,因为缓存可能误事,出现一些错误的数据。像股票类网站实时更新等,这样的网站是不要缓存的,像有的网站很少更新,有缓存还是比较好的。今天主要介绍清除缓存的几种方法。
清理网站缓存的几种方法
meta方法
<META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> <META HTTP-EQUIV="expires" CONTENT="0">123

清理form表单的临时缓存
方式一:用ajax请求服务器最新文件,并加上请求头If-Modified-Since和Cache-Control,如下:
$.ajax({
url:'www.haorooms.com',
dataType:'json',
data:{},
beforeSend :function(xmlHttp){
xmlHttp.setRequestHeader("If-Modified-Since","0");
xmlHttp.setRequestHeader("Cache-Control","no-cache");
},
success:function(response){
//操作
}
async:false
});12345678910111213

方法二,直接用cache:false,
$.ajax({
url:'www.haorooms.com',
dataType:'json',
data:{},
cache:false,
ifModified :true ,

success:function(response){
//操作
}
async:false
});123456789101112

方法三:用随机数,随机数也是避免缓存的一种很不错的方法!
URL 参数后加上 "?ran=" + Math.random(); //当然这里参数 ran可以任意取了eg:
<script>
document.write("<s"+"cript type='text/javascript' src='/js/test.js?"+Math.random()+"'></scr"+"ipt>");
</script>

其他的类似,只需在地址后加上+Math.random()
注意:因为Math.random() 只能在Javascript 下起作用,故只能通过Javascript的调用才可以 12345678

方法四:用随机时间,和随机数一样。
在 URL 参数后加上 "?timestamp=" + new Date().getTime(); 1

php后端清理
在服务端加 header("Cache-Control: no-cache, must-revalidate");等等(如php中)1

方法五:
5、window.location.replace("WebForm1.aspx");
参数就是你要覆盖的页面,replace的原理就是用当前页面替换掉replace参数指定的页面。
这样可以防止用户点击back键。使用的是javascript脚本,举例如下:
a.html
以下是引用片段:
<html>
<head>
<title>a</title>
<script language="javascript">
function jump(){
window.location.replace("b.html");
}
</script>
</head>
<body>
<a href="javascript:jump()">b</a>
</body> </html> b.html
以下是引用片段:
<html>
<head>
<title>b</title>
<script language="javascript">
function jump(){
window.location.replace("a.html");
}
</script>
</head>
<body>
<a href="javascript:jump()">a</a>
</body> </html>

转载地址:http://www.haorooms.com/post/js_llq_hc

‘捌’ jquery的轮询使用ajax导致内存溢出问题

你这种情况就不应该用轮询,而应该在ajax的回调函数(最好是complete)中再次发起下一次请求,这样就可以保证每次请求都是在上一次请求结束后才发起的,这样就不会造成崩溃了。比如:

function xxx(){

$.ajax({

url:"......",

data:{......},

success:function(data){

//处理返回数据

},

error:function(){

//处理错误

},

complete:function(){ //不管成功与失败,都会发生complete回调

setTimeout(xxx,5000); //5秒后再次发起ajax请求

//也可以直接用 xxx();可以做到完全实时,但会牺牲一些性能

}

});

}

特别注意,xxx函数在外部调用时,不能再用setInterval,而应该是xxx()直接调用!

‘玖’ 有哪些清除浏览器图片缓存的方法

浏览器缓存,有时候我们需要他,因为他可以提高网站性能和浏览器速度,提高网站性能。
meta方法
//不缓存
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="0">
清理form表单的临时缓存
<body onLoad="javascript:document.yourFormName.reset()">
其实form表单的缓存对于我们书写还是有帮助的,一般情况不建议清理,但是有时候为了安全问题等,需要清理一下!
jquery ajax清除浏览器缓存
方式一:用ajax请求服务器最新文件,并加上请求头If-Modified-Since和Cache-Control,如下:
$.ajax({
url:'www.haorooms.com',
dataType:'json',
data:{},
beforeSend :function(xmlHttp){
xmlHttp.setRequestHeader("If-Modified-Since","0");
xmlHttp.setRequestHeader("Cache-Control","no-cache");
},
success:function(response){
//操作
}
async:false
});

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:710
制作脚本网站 发布:2025-10-20 08:17:34 浏览:973
python中的init方法 发布:2025-10-20 08:17:33 浏览:684
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:836
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:742
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1083
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:313
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:193
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:881
python股票数据获取 发布:2025-10-20 07:39:44 浏览:839