AJAX中的POST請求方式

/**
 *作者:makaay
 *功能:ajax的post請求方式
 */
 
 
//聲明一個全局變量
var XMLHttp;

//創建XMLHttpRequest對象
function createXMLHTTP()

 //老版本的IE
 if(window.ActiveXObject)
 {
  XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
 }
 //IE7 或者firefox
 else if(window.XMLHttpRequest)
 {
  XMLHttp = new XMLHttpRequest();
 }
 //返回這個對象
 return XMLHttp;
}

//客戶端調用的函數
function checkuser()
{
 //獲取用戶名
 var username=document.getElementById('username').value;
 //獲取密碼
 var userpass=document.getElementById('userpass').value;
 //要發送的數據
 var user = "username="+username+"&userpass="+userpass;
 //調用createXMLHTTP()函數,得到XMLHttpRequest對象
 createXMLHTTP();
 //註冊回調函數callback!。。。函數名後面不能帶()!!!!
 XMLHttp.onreadystatechange = callback;
 
 //設置傳輸信息
 /**
 *1,傳輸方式:get,post,put
 *2,要傳送到的地址
 *3,異步還是同步,默認爲true(異步)可選
 *4,username 可選
 *5, userpass 可選
 **/
 
 //這是POST請求,但是後面加上一個參數的原因是避免緩存影響我們的數據結果!
 XMLHttp.open("post","CheckUserServlet?time="+new Date().getTime(),true);
 //如果是post方式,要設置下面這句請求頭信息,get則不用
 XMLHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
 //發送請求
 XMLHttp.send(user);
}

//回調函數
function callback(){
 //判斷交互狀態是否完成 有5個狀態 0.1.2.3.4  4是表示完成
 if(XMLHttp.readyState ==4){
  //判斷是否發生錯誤 200表示成功
  if(XMLHttp.status ==200){
   //如果狀態爲4,並且請求相遇碼爲200則執行下面的語句
   //alert(XMLHttp.responseText);
   
   //調用show這個函數
   show();
  }
 }
}

function show(){
 //獲得ID號爲showresult的節點
 var showresult = document.getElementById("showresult");
 //接收返回回來的數據
 var responseText =XMLHttp.responseText;
 //將返回來的數據的值給showresult
 showresult.innerHTML=responseText;
}

發佈了19 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章