终于解决“百年一遇”奇怪问题

经过四天的奋战,终于解决了“百年一遇”奇怪问题!下面分享一下。

问题详情:

  见百年一遇的奇怪问题:当IE遇上.NET Framework 4.5

问题出现的前提条件:

  • 安装了 .NET Framework 4.5
  • 浏览器用的是 IE
  • ajax 请求由 ASP.NET MVC 处理
  • ajax 请求通过 post 发起,并且请求数量比较多
  • ajax 请求未处理完成,连接就被中断(比如 F5 刷新浏览器)

问题的影响:

  出现问题时,IE 浏览器一直处于等待状态,只有重启 IE 才能解决问题,对用户体验影响非常大。

解决方法:

  在 js 代码中将 ajax 请求方式由 post 改为 get,代码如下:

$.ajax({
    type: 'postget'
});

找到解决方法的关键过程:

  1. 找出问题是由 ajax 请求被中断引起的,详见"百年一遇"奇怪问题的进展:找到原因,ajax请求中断引起

  2. 采用很原始的方法 —— 排除法,一段一段去除代码,逐步缩小范围,直到出现 —— 去除这段代码问题就消失,加上这段代码问题就出现。

收获的经验:

  在 ajax 请求中尽量少用 HTTP POST。

感言:

  如果把解决问题当作一种乐趣,程序人生将其乐无穷。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值