首页 > 代码库 > 手动模拟一个类似jquery的ajax请求

手动模拟一个类似jquery的ajax请求

 1 var $ = { 2             parms:function(obj){ 3                 var str = ‘‘; 4                 for(var k in obj){ 5                     str +=k+=+obj[k]+&;  6                 } 7                 str = str.slice(0,-1); 8                 return str; 9             },10             ajax:function(options){11                 var type = options.type;12                 var url = options.url||‘‘;13                 var data = http://www.mamicode.com/options.data||‘‘;14                 data = http://www.mamicode.com/this.parms(data);15                 // 判断请求方式16                 if (type==get) {17                     // 如果是get请求,send中没有参数,或者为null18                     // 然后data数据应该拼接到url上19                     url = url+?+data;20                     data = http://www.mamicode.com/null;21                 }22                 // 实例化对象23                 var xhr = new XMLHttpRequest();24                 // 设置请求行25                 xhr.open(type,url);26                 //判断是不是post请求,如果是post请求,就需要设置请求头27                 if (type==post) {28                     xhr.setRequestHeader(Content-Type,application/x-www-form-urlencoded);29                 } 30                 // 设置请求正文31                 xhr.send(data);32                 // 监听并处理响应33                 xhr.onreadystatechange = function(){34                     if (xhr.readyState==4&&xhr.status==200) {35                         result = xhr.responseText;36                         console.log(result);37                     }38                 }39             }40         }41         var obj = {42             name:小航,43             age:11044         }45         $.ajax({46             type:post,47             url:ajaxTools.php,48             data:obj49         })
下面附上php代码
<?php    // echo $_GET[‘name‘].‘----------‘.$_GET[‘age‘];    echo $_POST[name].----------.$_POST[age];?>

 

一个简单的post和get接收数据的php代码

 

手动模拟一个类似jquery的ajax请求