加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ajax

发布时间:2020-12-15 21:32:32 所属栏目:百科 来源:网络整理
导读:《JavaScript高级程序设计》21.1 1、创建XHR对象 function creatXHR () { if (window.XMLHttpRequest){ // for IE7+,Firefox,Chrome,Opera,Safari return new XMLHttpRequest(); } else { // for IE6,IE5 return new ActiveXObject( "Microsoft.XMLHTTP" );

《JavaScript高级程序设计》21.1

1、创建XHR对象

function creatXHR(){
    if (window.XMLHttpRequest){// for IE7+,Firefox,Chrome,Opera,Safari
      return new XMLHttpRequest();
  }else{// for IE6,IE5
      return new ActiveXObject("Microsoft.XMLHTTP");
  }
}

var xhr = createXHR();

2、XHR的用法
要是用XHR对象,要调用的第一个方法是open()方法。它接收三个参数:发从请求的类型(get/post),请求的url和表示是否异步发送请求的布尔值。
xhr.open('get','example.php',false);// false表示同步请求
然后调用send()方法发送请求。
xhr.send(null);
send()方法接收一个参数,即要作为请求主体发送的参数。如果没有数据,必须传入参数null,因为这个参数对于有些浏览器来说是必须的。

由于这次请求是同步的,JS代码会等到服务器响应后继续执行。接收到响应后,xhr对象的属性会被自动填充。属性如下:
responseText:作为响应主体的文本。
responseXML:响应内容为text/xml或者application/xml时,这个属性中将包含着响应数据的XML DOM文档。
status:响应的HTTP状态。
statusText:HTTP状态的说明。

接收到响应后,第一步检查status属性,当200<=status<300或status为304时,说明这个请求是成功的。

无论响应内容类型是什么,响应的主体内容都会保存到responseText中。

当进行异步请求时,可以检测XHR对象的readyState属性。该属性表示请求/响应过程的当前活动阶段:

readyState 阶段 说明
0 初始化 尚未调用open()方法
1 启动 已经调用open()方法,尚未调用send()方法
2 发送 已经调用send()方法,尚未收到响应
3 接收 已经接收到部分响应数据
4 完成 已经接收全部响应数据,且已经可以在客户端使用了

? 当readyState属性发生变化时,会触发一次readystatechange事件。事件处理程序应该在open()方法调用前指定。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读