简单的ajax请求 -- 原生js篇

创建XHR对象

兼容IE7已经更高的版本:

function createXHR(){
   if(typeof XMLHttpRequest != "undefind"){
       return new XMLHttpRequest();    
    }else if(typeof ActiveXObject != "undefind"){
        var versions = ["MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp"],
             len = versions.length;
         for(var i = 0; i < len; i ++){
             try{
                 new ActiveXObject(versions[i]);
                 arguments.callee.activeXString = versions[i];
                 break;
             }catch(e){
                  console.log(e);
            }
         }
    }else{
        throw new Errow("NO XHR object");
    }
}        

  

var xhr = createXHR();

 

XHR的用法

方法:

1. open()

启动一个请求必备发送:

xhr.open("get", "demo.php", false);

  三个参数:

  • 请求的类型 get / post
  • url
  • 同步(false)或者异步(true),  默认为异步        

2. send()

请求发送服务器:

xhr.send(null)

 

 

属性:

 

1. responseText

  从服务器返回的文本

2. responseXML

  

3. status

  相应的HTTP状态

  

4. statusText

  HTTP状态的说明

 

同步情况下可以:

xhr.open("get", "demo.php", false);
xhr.send(null);

if(xhr.status >=200 && xhr.status < 300 || xhr.status == 304){
   console.log(xhr.responseText);
}else{
   console.log("Request was unsuccessful: " + xhr.status );
}

  

一般我们都是异步:

var xhr = createXHR();

xhr.onreadystatuschange = function(){
  if(xhr.readyStatus == 4){
     if((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304){
        console.log(xhr.responseText);
    }else{
        console.log("Request was unsuccessful: " + xhr.status);
    }
  }      
};

xhr.open("get", "demo", true);
xhr.send(null);

  

 

请求方式

1. GET

参数的拼接:

 url + "?" + "名1=值1" + "&" + "名2=值2" + .....

xhr.open("get", "demo.php?name1=value1&name2=value2", true);

  

 

2. POST

 

 

 

 

  

转载于:https://www.cnblogs.com/dengaye/p/8028052.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值