封装一个原生的ajax请求

现在我们使用各种框架提供的ajax请求,很方便的请求后台接口,但是原生js的http请求一定不能丢

原生js中实现http主要通过XMLHttpRequest对象,关键方法是open()和send()

 get请求

get请求主要用途是向服务器请求我们需要的数据,如下,我们发起一个get请求,传递两个参数name和age

参数直接拼接在url后面

var ajax=new XMLHttpRequest();
ajax.open('get','/project/getProjectList.do?name=1&age=1');
ajax.send();
ajax.onreadystatechange=function(){
  if(ajax.readyState==4&&ajax.status==200|| ajax.status==304){
    console.log(ajax.responseText);
  }
}

post请求

post请求一般用于向服务器提交数据

var data={name:1,age:1};
var ajax=new XMLHttpRequest();

ajax.open('post','/project/getProjectList.do');
ajax.setReuqestHeader('Content-type','application/x-www-form-urlencoded');
ajax.send(JSON.stringify(data));

ajax.onreadystatechange=function(){
  if(ajax.readyState==4&&ajax.status==200|| ajax.status==304){
    console.log(ajax.responseText);
  }
}

一个封装的ajax请求

function ajaxMethod(method, url, data, sucess) {
  var ajax = new XMLHttpRequest();

  if (method === 'get') {
    if (data) {
      url += '?';
      url += data;
    }
    ajax.open(method, url);
    ajax.send();
  } else {
    ajax.open(method, url);
    ajax.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
    if (data) {
      ajax.send(data);
    }
    ajax.send();
  }
  ajax.onreadystatechange = function () {
    if (ajax.readyState === 4 && ajax.status === 200 || ajax.status===304) {
      sucess(ajax.responseText);
    }
  }
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值