標籤:
轉自: http://blog.csdn.net/tuzongxun/article/details/51355059
這段時間前後端聯調,解決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);
IE瀏覽器因緩衝問題未能成功向後端發送請求的幾個解決辦法