2009-07-23 55 views
0

我已經在PHP中創建了一週的項目問題,並且我已經使用AJAX使事情在運行時工作,MySQL使用數據庫。我的整個項目在Firefox甚至谷歌瀏覽器中工作得都很好。但它不適用於Internet Explorer。在Internet Explorer中運行項目的問題

它沒有進行更改。 例如。如果我發佈使用IE瀏覽器,即使我嘗試刷新,它也不會在回覆中顯示發佈的問題。但是,如果我在Firefox中刷新我的項目,它會顯示我發佈的問題。 要查看IE中的更改,我實際上必須關閉IE並重新開始。

你能提出建議我應該做些什麼來擺脫這個問題嗎?

回答

1

IE瀏覽器緩存Ajax響應的傾向。嘗試爲查詢添加一些隨機性,以便每次有AJAX調用時都會請求「新」頁面。

3

對於IE瀏覽器,您必須使用Active X

var xmlhttp; 
if (window.XMLHttpRequest) 
    { 
    // code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else if (window.ActiveXObject) 
    { 
    // code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
else 
    { 
    alert("Your browser does not support XMLHTTP!"); 
    } 
0

的AJAX部分看到其他的答案,作爲刷新部件你可能想看看如何避免客戶端緩存在IE

1

如果您正在使用AJAX您使用張貼您的問題自己的自定義Javascript或你使用的框架(如jQuery)?如果您正在編寫自己的JavaScript來處理所有事情,請確保您從瀏覽器中獲得正確的XmlHttpRequest(我用來獲取正確對象的代碼如下)。另外,你沒有說明你使用的是什麼版本的IE。如果您使用的是IE8,則可以使用開發人員工具(按F12或工具 - >開發人員工具)來調試您的JavaScript。

用於獲取XmlHttpObject代碼:

function GetXmlHttpObject() { 
    var xmlHttp = null; 
    try { 
    xmlHttp = new XMLHttpRequest(); 
    } catch (e) { 
    try { 
     xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch (e) { 
     xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    } 
    return xmlHttp; 
}