zoukankan      html  css  js  c++  java
  • IIS压缩导致的Ajax问题

      最近在自己的电脑上测试发现,以前在各种环境下都运行正常的两款软件(asp.net开发的B/S结构软件),出现了莫名其妙的脚本错误,错误发生在通过右键菜单在系统中添加目录或用户的时候,估计是收到Ajax响应并进行处理时发生了问题。通过借助Httpwatch等工具调试发现,进行Ajax处理的服务器端页面运行正常,但客户端收到的Ajax响应内容却与服务端发送的内容不符,具体现象是响应字符串xmlHttp.responseText在客户端被截断了后面的一部分。

      首先想到的是浏览器的兼容性问题、Ajax请求和响应的编码问题,但后来都逐一排除了。以关键字“xmlHttp.responseText 被截断”进行搜索,发现有不少人都遇到过这种现象,但都没有找到答案,无果而终,费了几个小时时间也没有任何进展。

      下班后清醒了一下头脑,终于怀疑到了IIS方面,最先被怀疑的就是IIS压缩(这次没有走弯路了),打开IIS管理界面,取消默认网站的IIS压缩选项,但调试时又出现了配置错误,原来这种IIS设置的修改,它是以web.config文件的形式保存在网站根目录下的。删除这个文件后,直接到IIS的顶级设置中取消相关的压缩选项,再打开页面测试,发现问题已经没有了,一切正常。

      看来,是IIS的压缩功能导致了输出的响应内容被截断了,至于为什么会出现这种问题,还没有去研究,希望有识之士补充一二。

      如果需要再现问题现象,可到http://ldsoft.cc下载“工作任务管理系统”这款软件来安装,并进入用户管理界面进行添加用户操作。

      附测试环境:Windows 7操作系统(IIS 7.5),IE 8.0浏览器,Asp.net 1.1程序运行环境,使用原始的XMLHttpRequest 对象方式来进行Ajax处理。

  • 相关阅读:
    R--相关分布函数、统计函数的使用
    Spark Streaming
    统计与分布的相关知识
    Python--WebDriverWait+expected_conditions的一个应用
    Python+Selenium与Chrome如何进行完美结合
    Python+Selenium+Chrome 的一个案例
    python -使用Requests库完成Post表单操作
    JetBrains PyCharm 2018.2.4 x64 工具里如何安装bs4
    用JetBrains PyCharm 开发工具写一个简单python案例
    dom4j学习总结(一)
  • 原文地址:https://www.cnblogs.com/cunet/p/1622224.html
Copyright © 2011-2022 走看看