zoukankan      html  css  js  c++  java
  • 终于解决“百年一遇”奇怪问题

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

    问题详情:

      见百年一遇的奇怪问题:当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。

    感言:

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

  • 相关阅读:
    NYOJ 734
    NYOJ 762
    NYOJ 743
    NYOJ 478
    NYOJ 451
    NYOJ 461
    NYOJ 485
    NYOJ 333
    平均互信息
    ASCII码
  • 原文地址:https://www.cnblogs.com/dudu/p/ie_mvc_ajax_post.html
Copyright © 2011-2022 走看看