IE瀏覽器因緩衝問題未能成功向後端發送請求的幾個解決辦法

來源:互聯網
上載者:User

標籤:

這段時間前後端聯調,解決IE、Google等瀏覽器安全色問題,真是讓人有點焦頭爛額,各種奇葩問題層出不窮,舊問題剛去,新麻煩又來,其中尤其以IE瀏覽器緩衝的問題最多。有若干次都是因為這個緩衝,使得前端的請求沒有實際到達後台,造成304狀態代碼。
經過前端同事和我的各種嘗試,發現有三四種辦法可以針對不同的情況解決這個問題。
方法一:在網上一搜“html設定不緩衝”就會看到大部分的答案都是這個,那就是在之前的一篇博文《同前端聯調遇到的坑(二)》中也說過的當時沒起作用的方法,在html請求時加上如下代碼:
<meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Cache-Control" content="no-cache"><meta http-equiv="Expires" content="0">
這個方法雖然上次沒有起作用,但是在之前的一些應用中卻是起過作用的。

方法二:因為上邊的方法一在上次的聯調中失效,後來幾經嘗試下便找到了另一個方法,便也是《同前端聯調遇到的坑(二)》中說過的把get請求改為了post請求,這個就沒有什麼多的可說。加入有朋友遇到方法一失效的情況,或許可以一試。

方法三:雖然方法二解決了上次的那個問題,但是當今天在另一個模組再次遇到相似的問題時,卻無奈的發現,不僅方法一失效,方法二竟然也同樣的失效了。於是一番折騰下,再次找到新的解決辦法,那便是在請求對應的後台代碼中加入如下內容:
response.setHeader("Cache-Control", "no-cache");response.setHeader("Pragma", "no-cache");response.setDateHeader("Expires", -1);


方法四:至於方法四,實際上也是在解決方案三遇到的那個問題時一起試過的,效果差不多,那就是當這個請求是get請求是,在url後加上變化的參數值,例如:http://localhost:8080/test?time=123456,這樣瀏覽器每次都會認為是一個全新的請求,便會真正的去到後台。
據前端同事說,應該還有方法五,是在angular的httpserver中加入一段代碼,因為據說有些麻煩,因此便沒有更多的瞭解。

IE瀏覽器因緩衝問題未能成功向後端發送請求的幾個解決辦法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.