XHR对象创建

时间:2014-02-20 06:31:56

标签: javascript xmlhttprequest

之间有什么区别:

var xmlhttp = getXmlHttp()

var xmlhttp = new XMLHttpRequest()

? 如果我正确理解,这两种情况中的每一种都会创建XRH对象。

2 个答案:

答案 0 :(得分:1)

如果您打开Chrome Developer工具并尝试以下操作:

> getXmlHttp()
ReferenceError: getXmlHttp is not defined

这表明getXmlHttp不是内置函数。

答案 1 :(得分:1)

请看这个功能:

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");

但是,每个浏览器的返回对象都是相同的。