2010-05-17 37 views
2
function addRequest(req) { 
try { 
    request = new XMLHttpRequest(); 
} catch (e) { 
    try{ 
     request = new ActiveXObject("Msxml2.XMLHTTP"); 
    }catch(e){   
     try { 
      request = new ActiveXObject("Microsoft.XMLHttp"); 
     } catch (e) { 
      alert("XMLHttpRequest error: " + e); 
     } 
    } 
} 
request.open("GET", req, true); 
request.send(null); 
return request; 

}XMLHttpRequest的錯誤,沒有工作在Chrome/FF

正如你可以看到,它顯然IE所有失敗3種方式中,我儘量讓請求的問題。我一直在進行大量的搜索,試圖找出可能存在的問題,但通過所有帳戶的閱讀,上面提到的代碼應該可以工作。

我還沒有使用jQuery的AJAX,但我看到它建議當其他人有問題與httprequest對象。我可以用幾行jquery替換上面的混亂,並假設它會照顧IE的醜陋?

謝謝!

+0

出於好奇,是否加入「var request = null;」在第一次嘗試聲明之前爲你解決問題? – 2010-05-17 03:33:54

回答

5

我還沒有對AJAX的使用jQuery的,但香港專業教育學院 看到它建議,當別人有 有問題與HttpRequest的對象。 我可以用幾行jQuery和 代替 以上的混亂,假設它會照顧IE的 醜?

簡答:是的。

儘管jQuery語法的用法不同,所以您不會顯式創建請求併發送它。它的所有功能都包含在內。例如。 from http://api.jquery.com/jQuery.get/

$.get("test.cgi", { name: "John", time: "2pm" }, 
    function(data){ 
    alert("Data Loaded: " + data); 
    }); 

您可以忘記瀏覽器互操作性問題。只要你保持最新的jQuery版本:)愛它

+0

如何讓JavaScript純淨?這個問題不僅僅是另一個應用程序的jQuery – KingRider 2016-05-02 17:44:20

1

不同版本的IE有不同的引用XMLHTTP對象的方式。

它與您的計算機上安裝的MSXML庫有關。你運行什麼操作系統/ IE版本?

嘗試運行Windows Update。一個奇怪的解決方案,但可以在這裏工作。

+0

我使用IE8運行Windows 7。我正在運行Windows Update的過程中,但我只是用Vista/ie7在另一個盒子上嘗試過,並且它在那裏也失敗了。 繼承人鏈接到我的網站:http://la.truxmap.com/request?id=boolbbq 要自己測試它,請輸入一個新地址,然後單擊提交,或單擊該明星。感謝您的幫助Moshe! – 2010-05-17 03:39:38

+0

我現在在Mac上,無法測試它!很高興看到你已經整理了一些東西。順便說一句,我很想知道Windows Update是否有幫助。可能是因爲Windows Update會安裝一個相對於尾聲來說太*新的XML解析器,因此可以通過當前可用的在線教程中未引用的名稱來調用該解析器。 – Moshe 2010-05-17 15:40:34

相關問題