欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » Ajax教程 » 正文

Ajax教程之XMLHttpRequest

创建时间:2011年08月30日 23:28  阅读次数:(3800)
分享到:
XMLHttpRequest(XHR)是浏览器里已定义的对象,它是AJAX技术的核心组成部分,JavaScript通过它和服务器通讯,并通过它来解析从服务器传回来的XML文件。XMLHttpRequest最早由微软作为一个 ActiveX对象实现,之后其它流行的浏览器步其后尘都实现了XMLHttpRequest。

·顺序
–open(string url,string asynch): 打开请求页面
–send(string): 发送数据
–onreadystatechange: 状态改变,回调函数
–status: HTTP 处理状态
–responseXML: 返回的 XML DOM
–responseText: 返回的文字內容

·XHR 支持以下浏览器
–IE 5.0+
–Mozilla 1.0+
–Safari 1.2
–Konqueor
–Opera 8.0

·但不同的浏览器 XHR 建立方式不同
–IE: ActiveX
–Others: JavaScript

function httpRequest(reqType,url){
  if(window.XMLHttpRequest){ // Mozilla, Opera, Safari, …
    request = new XMLHttpRequest();
  } else if (window.ActiveXObject){ // IE
    request=new ActiveXObject("Msxml2.XMLHTTP");
    if (!request){
        request=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  if(request){
    …
  } else {
    alert("Your browser does not permit the use of all "+
          "of this application's features!");
  }
}


用户输入触发XHR
// 建立 XHR
request = new XMLHttpRequest();
// 设定回调函数
request.onreadystatechange=handleResponse;
// 打开链接
request.open("GET","http://abc.com",true);
// 传输资料
request.send(null);


接收数据后立刻更新用户访问界面
function handleResponse() {
  // 检查 XHR 状态
  if(request.readyState == 4){
    // 检查 http 状态
    if(request.status == 200){
      // 读取返回的 XML 资料
      var doc = request.responseXML;
      // 取得网页上需要更新的 node 位置
      var node = document.getElementById(“resp");
      // 向该 node 写入內容
      node.innerHTML =
        doc.documentElement.childNodes[0].nodeValue;
    }
  }
}
Yt剉鶺,g俰鮛<
来源:
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf】

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 23+37=? 的结果(结果是:60)
结  果: