频道栏目
首页 > 资讯 > JavaScript > 正文

封装Ajax代码实例

17-12-26        来源:[db:作者]  
收藏   我要投稿

封装Ajax代码实例

//封装Ajax 
function ajax(obj) { 
     var xhr = new createXHR(); 
     obj.url = obj.url + '?rand=' + Math.random(); 
     obj.data = params(obj.data); 
if (obj.method === 'get') obj.url = obj.url.indexOf('?') == -1 ? 
     obj.url + '?' + obj.data : obj.url + '&' + obj.data; 
if (obj.async === true) { 
     xhr.onreadystatechange = function () { 
     if(xhr.readyState==4)callback(); 
     }; 
} 
     xhr.open(obj.method,obj.url,obj.async); 
if(obj.method==='post'){ 
     xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 
     xhr.send(obj.data); 
}else{ 
     xhr.send(null); 
} 
if(obj.async===false){ 
     callback(); 
} 
function callback(){ 
     if(xhr.status==200){ 
        obj.success(xhr.responseText); //回调 
}else{ 
        alert('数据返回失败!状态代码: '+xhr.status+',状态信息: '+xhr.statusText); 
      } 
   } 
} 
 
//调用ajax 
addEvent(document,'click',function(){ //IE6需要重写addEvent 
ajax({ 
    method:'get', 
    url:'demo.php', 
    data:{ 
        'name':'Lee', 
        'age':100 
}, 
    success:function(text){ 
    alert(text); 
}, 
    async:true 
}); 
}); 
 
//名值对编码 
function params(data){ 
var arr=[]; 
for(var i in data){ 
arr.push(encodeURIComponent(i)+'='+encodeURIComponent(data[i])); 
    } 
    return arr.join('&'); 
}

 

相关TAG标签
上一篇:JAVA到C#.net之C#中常使用的一些基础函数
下一篇:Tomcat安装与环境配置之虚拟目录设置,内存参数设置教程
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站