IIS壓縮導致的Ajax問題

來源:互聯網
上載者:User

  最近在自己的電腦上測試發現,以前在各種環境下都運行正常的兩款軟體(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處理。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.