浅谈ajax的缓存机制—IE浏览器方面

这篇文章主要介绍了ie浏览器关于ajax的缓存机制,文中给大家提到了ajax解决浏览器的缓存问题,解决方法有很多种。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

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

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

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

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

*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();

登录后复制

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减少了重复数据的载入,也即在载入数据的同时将数据缓存到内存中,一旦数据被加载,只要没有刷新页面,这些数据就会一直被缓存在内存中,当提交的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的缓存机制,希望对大家有所帮助。更多相关教程请访问AJAX基础视频教程,AJAX基础视频教程,AJAX基础视频教程!

以上就是浅谈ajax的缓存机制—IE浏览器方面的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2738909.html

(0)
上一篇 2025年3月8日 01:56:03
下一篇 2025年3月8日 01:56:12

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • jquery怎么判断是否是IE浏览器

    jquery判断是否是IE浏览器的方法:可以使用jquery browser方法来进行判断,如【$.browser.msie】,如果我们还需要区分版本,就需要使用【jQuery.browser.version】方法。 本教程操作环境:win…

    2025年3月7日
    200
  • jquery不兼容低版本ie浏览器怎么办

    jquery不兼容低版本ie浏览器的解决办法:1、可以使用原生JS或者低本的【Jquery1.x】本;2、可以给网页写两套或者多套JS代码以适应不同版本、不同类型的浏览器,然后使用原生JS判断浏览器的型号和版本来加载不同的JS文件。 本教程…

    2025年3月7日
    200
  • ie浏览器不支持javascript怎么办

    ie浏览器不支持javascript的方法:首先打开【Internet选项】对话框,选择【安全】选项卡;然后单击【自定义级别】按钮,将【Java小程序脚本】和【活动脚本】俩个选项设置为启用状态;最后单击确定按钮即可。 本教程操作环境:win…

    2025年3月7日
    200
  • 理解事件传播机制:捕获与冒泡顺序解析

    事件先捕获还是先冒泡?破解事件触发顺序的谜团 事件处理是网页开发中非常重要的一环,而事件触发顺序则是其中的一个谜团。在HTML中,事件通常会通过“捕获”或“冒泡”的方式进行传播。究竟是先捕获还是先冒泡呢?这是一个让人十分困惑的问题。 在回答…

    2025年3月7日
    200
  • 冒泡事件的常见阻止方法有哪些?

    常用的阻止冒泡事件指令有哪些? 在Web开发中,我们经常会遇到需要处理事件冒泡的情况。当一个元素上触发了某个事件,比如点击事件,它的父级元素也会触发相同的事件。这种事件传递的行为称为事件冒泡。有时候,我们希望阻止事件冒泡,使事件只在当前元素…

    2025年3月7日
    200
  • Promise在哪些主流浏览器中可用?

    Promise是一种用于处理异步操作的JavaScript对象,它有助于解决回调地狱的问题,并让我们更便捷地处理异步代码。Promise已经成为现代JavaScript开发中非常重要的一部分,但它并不在所有的浏览器中都得到支持。本文将探讨P…

    2025年3月7日
    200
  • 了解jQuery库的分类和功能差异

    jQuery是一个流行的JavaScript库,用于简化网页开发过程中的DOM操作、事件处理、动画效果等。它被广泛应用于网页开发中,能够大大简化代码的编写,提高开发效率。在了解jQuery的分类和功能差异之前,首先要了解jQuery的版本。…

    2025年3月7日 编程技术
    200
  • 学会有效应对常见冒泡事件的技巧!

    快速学会阻止冒泡事件的常见指令! 随着Web应用程序的发展,JavaScript的使用越来越广泛。在开发过程中,经常会遇到冒泡事件的问题。冒泡事件是指当在DOM结构中的元素上发生某个事件时,它会向上传播到父元素,直到传播到document对…

    2025年3月7日
    200
  • 腾讯地图如何自定义线路偏好 腾讯地图设置线路偏好步骤分享

    春运自驾,腾讯地图助您轻松出行!本文将指导您如何设置腾讯地图驾车导航线路偏好,让您的回家路更加顺畅。 打开手机腾讯地图应用。 点击左上角个人头像图标。 点击右上角的“设置”按钮。 选择“驾车导航”选项。 在驾车导航设置中,根据您的需求选择合…

    2025年3月7日 互联网
    200
  • js如何判断ie浏览器

    是,可以使用 JavaScript 方法判断浏览器是否是 IE。 以下是判断方法:检查 document.documentMode 属性: IE 浏览器有一个独特的 document.documentMode 属性,返回浏览器的模式。检查 …

    2025年3月7日
    200

发表回复

登录后才能评论