原生 ajax 的应用(客户端的代码说明)

在网页中使用原生的ajax,首先第一步需要创建XMLHttprequest。创建的方式如下:

var request;
if(window.XMLHttpRequest){
  request = new XMLHttpRequest(); //ie7+,Fiefox,Chrome,Oprea,Safari
}else{
  request = new ActiveXObject("Microsoft.XMLHTTP");   //ie6,ie5 这样主要为了兼容性考虑
}

第二部:请求

XMlHttpRequest 发送请求分为两步(两个方法)
open(method,url,async)

   1,get或者post     2,url地址     3,同步还是异步 异步为true,同步为false,默认为true,可以不填写
send(String)

   这个方法中send 中的string字符串可以为空。如果open()方法中为get时,则不填写。如果为post的可以填写参数。

下面几个例子

1,
request.open("get","get.php",true);
request.send();
2,
request.open("post","post.php",true);
request.send();
3,
request.open("post","create.php",true);
request.setRequestHeader("Content-type","application/x-www.form-urlencoded");
request.send("name=张三&sex=男");

第三步: Xmlhttprequest 取得响应

大致有一下这些方法: 

  responseText :获取字符串形式的响应数据
  responseXML :获取xml形式的响应数据
  status 和 statusText :以数字和文本形式返回HTTP状态吗
  getAllResponseHeader():获取所有的响应报头
  getResponseHeader() : 查询响应中的某个字段的值

  readyState是XMLHttpRequest对象的一个属性,用来标识当前XMLHttpRequest对象处于什么状态。
  status是XMLHttpRequest对象的一个属性,表示响应的HTTP状态码。

获取readyState属性,获取状态,判断响应是否完成。
  0:请求未初始化,open还没有调用
  1:服务器连接已经建立,open已经调用。
  2:请求已接收,也就是接收到头信息了
  3:请求处理中,也就是接收到响应主体了。
  4:请求已完成,且响应也已就绪,也就是响应完成了。

通过onreadystatechange 来监听XMLHttprequest 的 readyState 属性的值:

例子:

  

request.open("get","get.php",true);
request.send(); 
request.onreadystatechange = function(){
  if(request.readyState == 4 && request.status == 200){
    //业务处理代码    
    //request.responseText :获取字符串形式的响应数据
    //request.responseXML :获取xml形式的响应数据
  } }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。