`

解决IE浏览器下对于ajax重复提交处理的bug

阅读更多
最近在IE浏览器下调试一个项目,这个项目里面包含onmouseover时用到 ajax的异步请求,当我们第一次加载页面鼠标移动到一个链接时可以成功的触发属性。不过在当我们把鼠标从新移动到另一个链接触发onmouseover 时就会显示出错,不是新触发的链接,IE浏览器左下的状态栏依然显示的还是第一次onmouseover触发时候连接。

遇到这个情况奇怪,以为是自己的ajax有错误,后来去查阅了一些相关的资料才知道是IE缓存在的问题,因为第一次请求过,再请求还是同样的 url,这个页面已经被IE缓存了, 所以没有再次触发其他的异步页面。从这里我们就可以看出IE浏览器下打开的网页js代码中,如果对同一个地址进行重复提交,并且参数不发生变化的情况下,ie6-ie7都会将缓存中的数据返回给客户端。虽然这样节省了从新执行页面的时间,但是在某些项目中数据需要实时更新的情况下就成为一个bug了,为了解决ie浏览器的这个怪癖,当然也保证在其它浏览器下可以正常的显示,我们可以在提交请求的时候给请求参数添加一个随机的参数,这样就保证请求的参数的不重复,ie不直接读取缓存的问题了。

具体的解决方法如下:

在url中的参数中加入随机数,使得每次请求的页面的url都不同,

这样就可以避免IE浏览器直接读取之前的缓存。

url = url + “&num=”+Math.round(Math.random()*10000);

AJAX确实非常的好用,能够为我们在做项目的时候提供更多便捷和效果,但感觉有时候为了考虑PV和用户体验上我们不得不做一些牺牲。

这里我有一个疑问就是不知道AJAX在异步请求的页面是包含在网站上面的,alexa会算上这个是网站的有效PV吗?

最后,假如大家在以后还遇到类似情况大家得需要多动脑筋了。这是我又一次在这个问题上短路。让我联想到以前的类似问题。虽然IE浏览器留给我们一些问题,但每一个问题对于我们都是一个考验。
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
文章引用地址:http://www.iefans.net/ie-ajax-chongfu-tijiao-bug/ 作者:iefans
分享到:
评论

相关推荐

    支持IE浏览器调试js调试插件

    总之,“ie bug”插件是针对IE浏览器的有力辅助工具,它使得在旧版本IE上的JS调试变得不再困难。通过熟练运用这款插件,开发者可以更高效地调试和优化代码,确保在IE浏览器中的应用表现稳定,提升用户体验。在实际...

    jQuery针对IE浏览器低版本测试代码

    在压缩包文件`texiao3868_1560680865`中,可能包含了一系列针对IE低版本的jQuery测试脚本和示例,这些脚本可能涉及到解决上述问题的具体代码实现,例如修复CSS兼容性问题的函数、创建兼容性事件处理机制的代码片段,...

    IE中jquery.form中ajax提交没反应解决方法分享

    在这篇文章中,讨论了在使用jquery.form插件进行AJAX提交时,IE浏览器对某些响应头信息的处理可能与其他浏览器(如Firefox和Opera)不同,从而导致提交没有反应的问题。主要知识点包括: 1. jquery.form插件:这是...

    IE下jquery ajax无法获得最新数据的问题解决(IE缓存)

    发现此ajax请求用的get方式,每次请求的URL一模一样,IE浏览器有个特殊的地方,如果每次请求的URL一样时,就会拿出缓存中已有的数据显示在页面上,并不会再次去查询数据库,所以每次显示的都是旧数据。 解决办法: ...

    jquery IE浏览器版本过低提示.rar

    解决IE浏览器版本过低的问题通常涉及以下几个方面: 1. **特征检测**:使用JavaScript进行特征检测,而非浏览器检测。例如,可以检查浏览器是否支持某些jQuery或DOM操作,如果不行,则显示提示。例如: ```...

    IE9 IE8 ajax跨域问题的快速解决方法

    在默认情况下,这些老版本的IE浏览器对跨域请求有严格的限制,尤其是对于通过XMLHttpRequest(XHR)访问不同域的数据。为了解决这个问题,我们需要调整IE浏览器的安全设置: 1. 打开IE浏览器,点击右上角的“工具”...

    Sveil开源商城 v1.0

    mce在IE浏览器中错误11、在IE浏览器中添加/编辑分类JavaScript错误12、sql语句表名前缀失败13、添加货币不允许重复14、在IE、Opera浏览器中不能打开分类窗口15、方块和内容模块的错误16、修复后台下载错误17、修复在...

    jQuery在IE下使用未闭合的xml代码创建元素时的Bug介绍

    但由于IE浏览器对未闭合标签的处理有缺陷,这就导致了上述的Bug。 这个问题的解决方法是,在使用jQuery创建元素时,应该尽量使用正确的标签闭合形式,或者在发现兼容性问题时,加上相应的反斜杠(即自闭合形式),...

    IE 缓存策略的BUG的解决方法

    在IE浏览器中,由于其对innerHTML属性的处理方式存在一个已知的缓存策略bug,导致在动态生成包含相同图片源的HTML内容时,IE并不会正确地缓存这些图片,而是每次都重新请求。这个问题在Firefox等其他浏览器中并不...

    js实现简单实用的AJAX完整实例

    7. **修复BUG:** 解决了`XmlHttp`对象重复创建和多个AJAX事件覆盖的问题。 ### 结论 通过本文提供的完整AJAX实例,我们可以了解AJAX在实际开发中的应用方法。实现AJAX的关键在于理解其异步请求的机制,以及如何...

    商用版本文本编辑器DotNetTextBoxV6.0.8Source 源码

    3)修正IE浏览器下特殊格式的闪烁特效无效的BUG,现在IE浏览器下闪烁特效用发光字体特效代替! 4)修正二级以上目录调用控件时插入文件的路径转换无效的BUG 5)完善了水印控制的功能,文字水印支持更换字体及颜色! 6)优化...

    DotNetTextBox V6.0.10 商业版 下载 (已知最新)

    3)修正IE浏览器下特殊格式的闪烁特效无效的BUG,现在IE浏览器下闪烁特效用发光字体特效代替! 4)修正二级以上目录调用控件时插入文件的路径转换无效的BUG 5)完善了水印控制的功能,文字水印支持更换字体及颜色! 6)...

    IE6的POST请求无data的的问题

    在提供的"ieHTTPHeadersSetup.exe"文件中,可能是用于帮助开发者检查和调试IE浏览器的HTTP头部信息的工具,例如IEHTTPHeaders。这类工具能够帮助开发者查看请求和响应头,从而定位问题。 总的来说,处理IE6的POST...

    PHP商城系统 v2.0.4

    V2.0.4 处理BUG 此版本未增加多少新功能,旨在修复BUG 修复 下订单时 允许提交空地址的BUG 修复 下订单时的跨站注入问题调整 下订单,充值,支付等页面发信为AJAX 请求发信 速度大大提升修复 后台邮件测试时有时候发信...

    jq仿滚动条,超简单易用

    这些老版本的IE浏览器虽然市场份额已大大减少,但在某些特定场景下仍然被使用,因此确保在这些浏览器上的正常运行具有实际意义。然而,值得注意的是,描述中提到在火狐浏览器上存在一些bug,这可能是由于火狐内核与...

    Discuz! X1.5.1 简体GBK R20111221.zip

    FIX QQ互联token检测在某些版本IE浏览器下会报JSON未定义的问题 FIX 下拉菜单 -> 修正 IE 下渲染缓慢及 IE8 下鼠标 hover 时没有背景色的 BUG FIX 无法保证本地方式接口的完美兼容,暂时关闭 FIX 物理路径下调用...

    Discuz! X1.5.1 繁体BIG5 R20111221.zip

    FIX QQ互联token检测在某些版本IE浏览器下会报JSON未定义的问题 FIX 下拉菜单 -> 修正 IE 下渲染缓慢及 IE8 下鼠标 hover 时没有背景色的 BUG FIX 无法保证本地方式接口的完美兼容,暂时关闭 FIX 物理路径下调用...

    Discuz! X1.5.1 繁体UTF8 R20111221.zip

    FIX QQ互联token检测在某些版本IE浏览器下会报JSON未定义的问题 FIX 下拉菜单 -> 修正 IE 下渲染缓慢及 IE8 下鼠标 hover 时没有背景色的 BUG FIX 无法保证本地方式接口的完美兼容,暂时关闭 FIX 物理路径下调用...

    Discuz! X1.5.1 简体UTF-8 R20111221.zip

    FIX QQ互联token检测在某些版本IE浏览器下会报JSON未定义的问题 FIX 下拉菜单 -> 修正 IE 下渲染缓慢及 IE8 下鼠标 hover 时没有背景色的 BUG FIX 无法保证本地方式接口的完美兼容,暂时关闭 FIX 物理路径下调用...

    文章管理系统

    1.[新增]后台引导页加入非IE浏览器提示,后台部分功能在非IE浏览器下可能没法使用 2.[修复]【紧急】纠正后台设皮肤目录存在入侵挂马BUG 3.[修复]纠正服务器时间跟保存到数据库里格式不同造成登录有时出现时间不匹配...

Global site tag (gtag.js) - Google Analytics