//封装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('&'); }