首页 > 代码库 > ajax 纯javascript
ajax 纯javascript
function createXHR(){ if(typeof XMLHttpRequest != ‘undefined‘){ return new XMLHttpRequest(); }else if(typeof ActiveXObject != ‘undefined‘){ var version = [ ‘MSXML2.XMLHttp.6.0‘, ‘MSXML2.XMLHttp.3.0‘, ‘MSXML2.XMLHttp‘, ]; for(var i=0; i<version.length; i++){ try{ return new ActiveXObject(version[i]); }catch(e){ } } }else{ throw new Error(‘您的系统或浏览器不支持XHR对象!‘); }}//名值对转换字符串function params(data){ var arr=[]; for(var i in data){ arr.push(encodeURIComponent(i) + ‘=‘ + encodeURIComponent(data[i])); } return arr.join(‘&‘);}//封装Ajaxfunction 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.data : ‘&‘ + 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{ console.log("获取数据错误!错误代号:"+ xhr.status +"错误信息:"+ xhr.statusText); } }}//调用AjaxaddEvent(document, ‘click‘, function(){ ajax({ method:‘get‘, url:‘demo.php‘, data:{ ‘name‘:‘L&ee‘, ‘age‘:100 }, success:function(text){ console.log(text); }, async:true });})
ajax 纯javascript
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。