栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

检索跨浏览器XmlHttpRequest的最简单方法

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

检索跨浏览器XmlHttpRequest的最简单方法

虽然我建议使用完整的库来简化用法,但是在现代浏览器中,进行AJAX请求可能非常简单:

var req = new XMLHttpRequest();req.onreadystatechange = function(){    if(this.readyState == 4){        alert('Status pre: ' + this.status);        // The response content is in this.responseText    }}req.open('GET', '/some-url', true);req.send();

以下代码段是基于quirksmode.org的代码段的更高级代码段,甚至支持非常旧的浏览器(早于Internet
Explorer 7):

function sendRequest(url,callback,postData) {    var req = createXMLHTTPObject();    if (!req) return;    var method = (postData) ? "POST" : "GET";    req.open(method,url,true);    // Setting the user agent is not allowed in most modern browsers It was    // a requirement for some Internet Explorer versions a long time ago.    // There is no need for this header if you use Internet Explorer 7 or    // above (or any other browser)    // req.setRequestHeader('User-Agent','XMLHTTP/1.0');    if (postData)        req.setRequestHeader('Content-type','application/x-www-form-urlenpred');    req.onreadystatechange = function () {        if (req.readyState != 4) return;        if (req.status != 200 && req.status != 304) {//          alert('HTTP error ' + req.status); return;        }        callback(req);    }    if (req.readyState == 4) return;    req.send(postData);}var XMLHttpFactories = [    function () {return new XMLHttpRequest()},    function () {return new ActiveXObject("Msxml3.XMLHTTP")},    function () {return new ActiveXObject("Msxml2.XMLHTTP.6.0")},    function () {return new ActiveXObject("Msxml2.XMLHTTP.3.0")},    function () {return new ActiveXObject("Msxml2.XMLHTTP")},    function () {return new ActiveXObject("Microsoft.XMLHTTP")}];function createXMLHTTPObject() {    var xmlhttp = false;    for (var i=0;i<XMLHttpFactories.length;i++) {        try { xmlhttp = XMLHttpFactories[i]();        }        catch (e) { continue;        }        break;    }    return xmlhttp;}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/369832.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号