首页 » 网站推广 » phpajax缓存技巧_php浅谈ajax的缓存机制IE浏览器方面

phpajax缓存技巧_php浅谈ajax的缓存机制IE浏览器方面

访客 2024-11-27 0

扫一扫用手机浏览

文章目录 [+]

设计者或开拓者在事情

IE浏览器对付同一个URL只返回相同结果。
由于,在默认情形下,IE会缓存ajax的要求结果。
对付同一个URL地址,在缓存过期之前,只有第一次要求会真正发送到做事端。
大多数情形下,我们利用ajax是希望实现局部刷新的,以是这就牵扯到一个改进的问题。

phpajax缓存技巧_php浅谈ajax的缓存机制IE浏览器方面

如果想每次都获取到最新数据,我们只需担保每次传入的URL不一样。
最大略的方法便是通过给url拼接参数。
利用math函数的random()方法天生随机数。

phpajax缓存技巧_php浅谈ajax的缓存机制IE浏览器方面
(图片来自网络侵删)

比如访问百度www.baidu.com,我们就可以把地址写成www.baidu.com?t=Math.random();或者?t=new Date().getTime();

说到这里,不妨复习一下ajax的基本用法。

泛型的 javascript 代码的 web 页

Ajax创建工具: 

var xmlhttp;

if (window.XMLHttpRequest){

//IE7+, Firefox, Chrome, Opera, Safari

xmlhttp = new XMLHttpRequest();

} else{

//IE6, IE5

xmlhttp=new ActiveXObject(\公众Microsoft.XMLHTTP\公众);

}

Ajax要求:

//GET要求:

xmlhttp.open(\"大众GET\"大众,\公众test1.txt\"大众,true);

xmlhttp.send();

//POST要求:

xmlhttp.open(\"大众POST\公众,\"大众demo_post.asp\"大众,true);

xmlhttp.send();

在报纸上的 Php 开拓职员空缺

GET 还是 POST?

与 POST 比较,GET 更大略也更快,并且在大部分情形下都能用。

然而,在以下情形中,请利用 POST 要求:

无法利用缓存文件(更新做事器上的文件或数据库)

向做事器发送大量数据(POST 没有数据量限定)

发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

Ajax相应:

要得到做事器的相应,须要利用XMLHttpRequest 工具的 responseText 或 responseXML 属性。

ResponseText:得到字符串形式的相应数据。

document.getElementById(\公众myp\公众).innerHTML=xmlhttp.responseText;

ResponseXML:得到XML形式的相应数据。

如果来自做事器的相应是 XML,而且须要作为 XML 工具进行解析。

Ajax - onreadystatechange : 

当要求被发送到做事器时,我们须要实行一些基于相应的任务。

每当 readyState 改变时,就会触发 onreadystatechange 事宜。

在 onreadystatechange 事宜中,我们规定当做事器相应已做好被处理的准备时所实行的任务。

当 readyState 即是 4 且状态为 200 时,表示相应已就绪:

xmlhttp.onreadystatechange=function()

{

if (xmlhttp.readyState==4 && xmlhttp.status==200)

{

document.getElementById(\"大众myp\"大众).innerHTML=xmlhttp.responseText;

}

}

Ajax 根式

补充:下面看下浅谈Ajax办理浏览器的缓请安题

Ajax能提高页面载入速率的紧张缘故原由是通过Ajax减少了重复数据的载入,也即在载入数据的同时将数据缓存到内存中,一旦数据被加载,只要没有刷新页面,这些数据就会一贯被缓存在内存中,当提交的URL与历史的URL同等时,就不须要提交给做事器,也即不须要从做事器获取数据,虽然降落了做事器的负载,提高了用户体验,但不能获取最新的数据。
为了担保读取的信息都是最新的,须要禁止其缓存功能。

办理方案有如下几种:

① 在Ajax发送要求前加上anyAjaxObj.setRequestHeader(\"大众If-Modified-Since\公众, \"大众0\公众)。

② 在Ajax发送要求前加上anyAjaxObj.setRequestHeader(\"大众Cache-Control\"大众, \"大众no-cache\公众)。

③ 在URL后加上一个随机数:\"大众fresh=\公众 + Math.random();。

④ 在URL后加上韶光搓:\"大众nowtime=\"大众 + new Date().getTime();。

⑤ 如果是利用jQuery,则用$.ajaxSetup({cache:false})。
这样页面的所有Ajax都会实行该语句而不须要保存缓存记录。

总结

以上所述是小编给大家先容的IE浏览器关于ajax的缓存机制

标签:

相关文章

招商蛇口中国房地产龙头企业,未来可期

招商蛇口(股票代码:001979),作为中国房地产企业的领军企业,自成立以来始终秉持“以人为本,追求卓越”的经营理念,致力于打造高...

网站推广 2025-02-18 阅读1 评论0