没有框架的javascript ajax请求

2024-02-28

有谁知道如何在不使用 jQuery 等 javascript 框架的情况下制作跨浏览器的 ajax 请求功能?


The XMLHttpRequest对象实际上使用起来并不那么复杂。为了广泛兼容,您必须玩一些游戏来创建对象,但之后的简单操作就相当简单了。

微软有这样的例子MSDN 页面XMLHttpRequest http://msdn.microsoft.com/en-us/library/ms535874%28v=vs.85%29.aspx,包括以跨浏览器方式创建对象的函数,支持早期版本的 IE。这是他们的例子:

function getXMLHttpRequest() 
{
    if (window.XMLHttpRequest) {
        return new window.XMLHttpRequest;
    }
    else {
        try {
            return new ActiveXObject("MSXML2.XMLHTTP.3.0");
        }
        catch(ex) {
            return null;
        }
    }
}

function handler()
{
    if (oReq.readyState == 4 /* complete */) {
        if (oReq.status == 200) {
            alert(oReq.responseText);
        }
    }
}

var oReq = getXMLHttpRequest();

if (oReq != null) {
    oReq.open("GET", "http://localhost/test.xml", true);
    oReq.onreadystatechange = handler;
    oReq.send();
}
else {
    window.alert("AJAX (XMLHTTP) not supported.");
}

我并不是说上面的例子是最佳实践(微软的 MSDN 示例似乎主要是由非常非常缺乏经验的工程师编写的),但它为您提供了一个起点。例如,上面要求响应状态为 200 才算成功,当然 HTTP 规范明确规定 200

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

没有框架的javascript ajax请求 的相关文章