防止ie瀏覽器緩存ajax請求的解決方法

最近做一個項目,用戶登錄之前,通過ajax請求服務器彈窗提示用戶登錄,用戶登錄以後ajax請求仍然會彈窗提示登錄,經檢查發現在用戶第一次請求後,ajax請求頁面被緩存,導致服務器接受不到最新的請求而出現錯誤提示。

最簡單有效的解決方法,在ajax的請求地址後面加一個動態的參數,可以是隨機數,可以是時間戳,這樣ie瀏覽器會認爲你每次請求的是不同的頁面,而不會去請求緩存頁面。

代碼如下:

function test(giftid,con){
        var xmlhttp:

        var rand = Math.round(Math.random()*10+1);  //生成1-10之間的隨機數

        if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
        }else{// code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange=function(){
            if (xmlhttp.readyState==4 && xmlhttp.status==200){
                var jsonobj=eval('('+xmlhttp.responseText+')');
            }
        }
        xmlhttp.open("GET",'test.php?inajax=yes&rand=’rand,true);
        xmlhttp.send();
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章