码迷,mamicode.com
首页 > Web开发 > 详细

原生JS封装Ajax

时间:2017-05-28 13:57:36      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:bre   ica   name   ==   request   对象   ros   XML   alert   

function json2url(json){
  //json参数转字符串
  json.t=‘‘+Math.random();
  json.t=json.t.replace(‘.‘,‘‘);
  var arr=[];
  for(var name in json){
    arr.push(name+‘=‘+json[name]);
  }
  return arr.join(‘&‘);
}
//url,data,type,success,error
function ajax(json){
  var json=json;
  if(!json.url)return;
  json.data=json.data||{};
  json.type=json.type||‘get‘;

  //创建ajax对象
  var oAjax=new XMLHttpRequest();

  //连接方式、发送
  switch(json.type.toLowerCase()){
    case ‘get‘:
      oAjax.open(‘GET‘,json.url+‘?‘+json2url(json.data),true);
      oAjax.send();
    break;
    case ‘post‘:
      oAjax.open(‘POST‘,json.url,true);
      oAjax.setRequestHeader(‘Content-Type‘,‘application/x-www-form-urlencoded‘);
      oAjax.send(json2url(json.data));
    break;
  }
  //接收
  oAjax.onreadystatechange=function (){
    if(oAjax.readyState==4){
      if(oAjax.status>=200&&oAjax.status<300||oAjax.status==304){
        json.success&&json.success(oAjax.responseText);
      }else{
        json.error&&json.error(oAjax.status);
      }
    }
  };
}

//调用
ajax({
  url:‘a.txt‘,
  data:{},
  type:‘‘,
  success:function (str){
    alert(str);
  },
  error:function(data){
      alert(data)
  }
});

 

原生JS封装Ajax

标签:bre   ica   name   ==   request   对象   ros   XML   alert   

原文地址:http://www.cnblogs.com/pengyan89/p/6915554.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!