標籤:參數 ret pen ati content 需要 slice style --
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中沒有參數,或者為null18 // 然後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: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請求