之間有什麼區別:XHR對象的創建
var xmlhttp = getXmlHttp()
和
var xmlhttp = new XMLHttpRequest()
? 如果我正確理解,這兩個案例中的每一個都創建XRH對象。
之間有什麼區別:XHR對象的創建
var xmlhttp = getXmlHttp()
和
var xmlhttp = new XMLHttpRequest()
? 如果我正確理解,這兩個案例中的每一個都創建XRH對象。
請看看這個功能:
function getXMLHttp() {
var x = false;
try {
x = new XMLHttpRequest();
}
catch(e) {
try {
x = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(ex) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e1) {
x = false;
}
}
}
return x;
}
getXMLHttp()
是您的自定義功能,以簡化創建一個XHR
對象與跨瀏覽器的問題。
XMLHttpRequest
是與當前現代瀏覽器一起使用的對象。對於IE5或IE6等舊瀏覽器,您可以使用ActiveXObject("Microsoft.XMLHTTP");
但是,每個瀏覽器的返回對象是相同的。
如果你打開Chrome開發者工具和嘗試以下操作:
> getXmlHttp()
ReferenceError: getXmlHttp is not defined
這表明getXmlHttp
沒有一個內置的功能。
如果我添加代碼 'function getXMLHTTP(){ var x = false; 嘗試x = new XMLHttpRequest(); (e){ 嘗試x = new ActiveXObject(「Microsoft.XMLHTTP」); (ex){ try { req = new ActiveXObject(「Msxml2.XMLHTTP」); (e1){ } x =假; } } } return x; }' 它也返回XMLHttpRequest對象? –
'getXmlHttp()'是你寫的東西。 '新的XMLHttpRequest()'是內置的。 – techfoobar