手动模拟一个类似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 = options.data||'';
14                 data = this.parms(data);
15                 // 判断请求方式
16                 if (type=='get') {
17                     // 如果是get请求,send中没有参数,或者为null
18                     // 然后data数据应该拼接到url上
19                     url = url+'?'+data;
20                     data = 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:110
44         }
45         $.ajax({
46             type:'post',
47             url:'ajaxTools.php',
48             data:obj
49         })
下面附上php代码
<?php
    // echo $_GET['name'].'----------'.$_GET['age'];
    echo $_POST['name'].'----------'.$_POST['age'];
?>

 

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

 

posted @ 2017-02-22 16:11  豆浆油条123  阅读(775)  评论(0编辑  收藏  举报