在做web开发是,大多时候都会使用FireFox作为调试的浏览器。上面携带的FireBug用来调试JavaScript实在是太方便了,绝大多数的问题都能够通过它跟踪调试出来。但是,当项目发布时,不能仅在这一款浏览器是运行正常就算正常了。还要做浏览器的兼容性测试。说到IE,相信很多人都会很头疼。这段时间就碰到了问题,使用Ajax去后台请求数据,在前台更新显示。开发阶段,在FireFox上一切正常。但到了测试阶段,在IE上,这个小小的功能却怎么也没法正常运行。好在,之前有所耳闻IE的这个“亮点”,于是顺着这个路子去修改代码,果然又恢复正常了。

首先说明一下IE的这个“亮点”,IE有个缓存机制,对请求的url进行判断,发现短时间内请求的url相同,则使用缓存的数据,而不是去重新向服务器获取一次数据。数据缓存也有好处,但对于需要经常去后台获取数据更新的需求来说,这就是个麻烦了。那怎么解决这个问题呢?既然是对相同的url认为是重复请求,那我就想办法每次请求的url值都不相同,同时还保证是我要的数据。我们采用在url中增加一个无用的参数,且这个参数每次都在变(时间!)。

这里举个简单的例子,从后台获取实时时间。普通的做法如下,此时在chrome、FireFox上不停的向后台请求获取实时数据,会发现页面上的时间会不停的改变。但换到IE浏览器下,第一次点击时间会出现,当不断重复点击时,时间仍旧停留在第一次获取到的时间上。

function ajaxUrlOld() {

var xmlHttp = new XMLHttpRequest();

xmlHttp.open("get", "Handler.ashx?method=GetDateTime");

xmlHttp.onreadystatechange = function () {

if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {

var strJson = xmlHttp.responseText;

document.getElementById('dataP').innerHTML = strJson;

}

}

xmlHttp.send(null);

}

对以上代码进行如下的修改,则可以解决掉该问题。这时候,在IE下也能获取到实时的时间了。

function ajaxUrlNew() {

var xmlHttp = new XMLHttpRequest();

var url = "Handler.ashx?method=GetDateTime&datetime=" +new Date().getTime(); //url后面加点变化的东西

xmlHttp.open("get", url);

xmlHttp.onreadystatechange = function () {

if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {

var strJson = xmlHttp.responseText;

document.getElementById('dataP').innerHTML = strJson;

}

}

xmlHttp.send(null);

}

以简单的例子说明问题,真想获取时间,JS直接实现了,没必要向后台请求。另外,URL后面加的东西,不一定是时间,也可以用随机数生成器。只要保证两次请求的内容不相同即可。

解决.NET Core Ajax请求后台传送参数过大请求失败问题

解决.NET Core Ajax请求后台传送参数过大请求失败问题 今天在项目上遇到一个坑, 在.Net Core中通过ajax向mvc的controller传递对象时,控制器(controller)的 ...

springmvc框架下ajax请求传参数中文乱码解决

springmvc框架下jsp界面通过ajax请求后台数据,传递中文参数到后台显示乱码 解决方法:js代码 运用encodeURI处理两次 /* *掩码处理 */ function maskWord( ...

ie 浏览器下ajax请求来自缓存的解决方法

如上图所示,在ie浏览器下发出的请求,如何缓存中已经出现过这条请求记录,则不会请求服务端数据,解决方法是在请求后增加一个随机数,使每次请求都不同*可以添加当前时间戳 url+'?t='+Date.no ...

关于解决JQuery发送Ajax请求后,IE缓存数据不更新的问题

http://www.cnblogs.com/lys_013/archive/2013/08/07/3243435.html 今天在做ajax页面无刷新请求后台服务器数据的时候,IE下遭遇Ajax缓存 ...

SpringMVC下Ajax请求的方法,@Responsebody如果返回的是布尔值,ajax不会接到任何回传数据

SpringMVC框架下,如果用ajax向后台请求得方法如果使用@Responsebody返回布尔值的话,ajax得不到任何的回传数据. 但是如果返回String类型,就是正常的. 测试了下代码写得没 ...

[JS] IE下ajax请求不生效或者请求结果不更新

问题描述: IE8及以下版本里用jQuery发简单的GET时,第一次或者新开窗口后的请求没问题,可以正确返回结果.但是之后刷新页面或者触发某些操作得到的ajax请求结果永远和第一次一样. 问题分析: ...

Tomcat下ajax请求路径总结

ajax的url有两种,一种是绝对路径,另一种是相对路径.   一.绝对路径:包括协议名称.主机地址.端口.web项目名称等的完整请求路径. 例如: $.ajax({     url:"ht ...

IE8下ajax请求失败的解决方案

今天发现IE9以下的浏览器,ajax请求返回数据异常研究半天发现是type参数未设置,由于默认方式是Get,添加上type:“post”就恢复正常了

解决火狐浏览器发送jquery的ajax请求无效的问题

今天遇到这样一个问题: 页面在chrome下发送ajax的请求是没有问题的,但是在firfox下无效. 代码大致如下: //前面省略

.....

随机推荐

.net 过滤json等字符串里的特殊字符

JSON现在是很常见的处理数据的方式了,但是在使用JSON的时候,有些特殊字符会让我们得到非预期的结果.JSon数据中常见的特殊字符有:引号,正斜杠,反斜杠,换行符号等.下面介绍JSON中的特殊字符该 ...

jquery tree

...

Struts2总结

1.构建Struts2的开发环境? 1.1:导入相应jar包(最简化的,后期可以直接复制). 1.2:编写struts.xml配置文件.(从实例中提供参考).

struts_19_对Action中所有方法、某一个方法进行输入校验(手工编写代码实现输入校验)

对所有方法进行校验1.通过手工编写代码的形式实现 需求:用户名:不能为空手机号:不能为空,并且要符合手机号的格式1,3/5/8,后面是9个数字 第01步:导包 第02步:配置web.xml ...

highCharts 电流表、电压表

var highChartsSettingV = { chart: { margin: [5, 2, 5, 8], type: 'gauge', plotBorderWidth: 1, plotBac ...

JAVA开发环境 - 环境变量及配置

JDK是什么?JRE是什么? JRE(Java Runtime Environment):Java运行环境: JDK(Java Development Kit):Java开发工具包,里面已经包含JRE ...

python学习日记(迭代器、生成器)-乱七八糟

迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退 ...

大规模SNS中兴趣圈子的自动挖掘

转自:http://www.infoq.com/cn/articles/zjl-sns-automatic-mining 一.为何要在大规模SNS中挖掘兴趣圈子 随着国外的facebook.twitt ...

VS Code配置初探

之前一直在用 Webstorm,看现在 VS Code 热度那么高,想着尝试一下. 熟悉编辑器的快捷键 VS Code 快捷键一览 安装使用到的插件 Chinese(修改你的编辑器语言,默认英文) E ...

Android事件分发机制源码分析

Android事件分发机制源码分析 Android事件分发机制源码分析 Part1事件来源以及传递顺序 Activity分发事件源码 PhoneWindow分发事件源码 小结 Part2ViewGro ...

ie下ajax请求不到数据库,解决IE下Ajax请求无效相关推荐

  1. php jq ajax 4个下拉框联动案列,Ajax与Jquery结合数据库做出实现下拉框的二级联动...

    这次给大家带来Ajax与Jquery结合数据库做出实现下拉框的二级联动,Ajax与Jquery结合数据库做出实现下拉框二级联动的注意事项有哪些,下面就是实战案例,一起来看一下. 首先我们需要先建立好数 ...

  2. Linux系统下使用iftop结合iptables服务解决带宽被恶意请求的问题

    Linux系统下使用iftop结合iptables服务解决带宽被恶意请求的问题 ​ 最近博客总时不时的打不开,出现数据库连接错误,或者是打开巨慢.不知道哪个s.b盯着我不放,打开控制面板,发现能登录, ...

  3. 本地跨域处理ajax,Node.js配合node-http-proxy解决本地开发ajax跨域问题

    情景: 前后端分离,本地前端开发调用接口会有跨域问题,一般有以下3种解决方法: 1. 后端接口打包到本地运行(缺点:每次后端更新都要去测试服下一个更新包,还要在本地搭建java运行环境,麻烦) 2. ...

  4. 短小视频网站sexcms源码 安装搭建环境加采集教程 有手机和PC演示站 linux下安装一片空白的解决linux下安装一片空白的解决

    特别注意:在linux下安装一片空白的解决方法:把index.php的第66行改为require_once sexPATH.'lib/Cs_Sex.php';就行.linux下要注意大小写区分. 电脑 ...

  5. linux下qt多个程序打包,解决Ubuntu下使用linuxdeployqt打包Qt程序问题

    写了点Qt界面程序,然而发现很难移植到其他没有安装Qt环境的电脑上运行.查资料了解到,在windows上有windowsdeployqt程序,linux上有linuxdeployqt可以帮助我们快速打 ...

  6. get请求400错误 vue_解决axios发送post请求返回400状态码的问题

    今天在用 发送一个跨域的post请求时,遇到了一个坑:uncaught (in promise) error: request failed with status code 400. 前台代码如下: ...

  7. mac下mysql不支持中文_解决mac下mysql无法使用中文的问题

    MySQL.png 针对 mac 系统下 mysql 无法使用中文,在网上查找解决办法,大部分都是将 mysql 下的 default.cnf 复制到 /etc下并修改为 my.cnf 然后对文件进行 ...

  8. elementui下拉框 清空_巧妙解决element-ui下拉框选项过多的问题

    1. 场景描述 不知道你有没有这样的经历,下拉框的选项很多,上万个选项甚至更多,这个时候如果全部把数据放到下拉框中渲染出来,浏览器会卡死,体验会特别不好 用人会说element-ui的select有一 ...

  9. ajax前台转换json数据库,基于jQuery的ajax功能实现web service的json转化

    不过这篇文章的题目我真不知道该怎么起,如果你因为这个差劲的题目错过这个东西,那真的很可惜. 我在做这个东西之前参考了不少文章: 第一步需要做的是如何在Server端把一个datatable转坏为自己需 ...

最新文章

  1. 侠客X官方网站成立,第一个内测版本即将放出,敬请期待.
  2. 小米数据管理与应用实践
  3. 基于RDKit的溶解度预测的机器学习模型
  4. mac最好用的markdown_Markdown 语法简明教程 amp; Markdown 编辑器推荐
  5. 使用python用什么软件-Python读写Excel表格,就是这么简单粗暴又好用
  6. svn 设置post-commit后 报错svn: Can't convert string from 'UTF-8' to native encoding
  7. 面试官:怎么解决MySQL中的死锁问题?
  8. law是什么的缩写_Lawyer和Attorney 有什么不同?
  9. 什么是心跳线?心跳线,主要用于主从服务器之间,是连接工作机与备份机的网线
  10. 【nand2tetris实验0】windows找不到文件javaw的解决办法
  11. IntelliJ IDEA For Mac 快捷键,够骚,速度收藏!
  12. 视频教程-R语言基础实战-大数据
  13. web前端开发初学者,html的介绍及常用标签
  14. 计算机类绘图的文献,绘图计算机论文,关于机械制图计算机绘图的有效融合相关参考文献资料-免费论文范文...
  15. 芝加哥打字机_芝加哥打字机不是打字机
  16. 美团再杀入共享充电宝的阳谋
  17. mongoDB数据库安装报错问题SocketException: Error connecting to和Shutting down
  18. 计算机U盘那种好,u盘什么主控好,u盘主控比较
  19. GNUPLOT绘图软件学习笔记(1)基本多数据作折线图与cpp调用及一种中文输入办法
  20. 云平台的云计算安全参数详解

热门文章

  1. 学不会编程?试试我的方法
  2. DeOldify实现老照片上色(附直接使用的工具代码) | 机器学习
  3. 幼儿园装备论文计算机网络,计算机专业毕业论文幼儿园网站的设计与维护.doc...
  4. 802.11--WPS(Wi-Fi Protected Setup)协议简析
  5. Python中FIR滤波和STFT滤波对比(MNE脑电数据处理)
  6. window.print()打印html网页的两种方法
  7. 点赞!盲人程序员独立开发吃鸡游戏,眼睛看不到,心却明亮
  8. 如果恨一个程序员,忽悠他去做iOS开发
  9. H.264编码器在需要时强制插入关键帧
  10. 知乎热议:聊聊最近的互联网大厂裁员