ajax

ajax
XmlhttpRequest 對象
創建XMLhttpRequest 對象
IE 中實現爲activeX腳本
其他瀏覽器作爲javascript 的內置對象
實現方式不同,提供的藉口相同


原生代碼:
function getHttpRequest{
 var xhl=false;
 if(window.XMLHttpRequest)
 {
  xhl=new XMLHttpRequest();
 }
 else if(window.ActiveXObject){
  xhl=new ActiveXObject("Microsoft.XMLHTTP");
 
 }
 return xhr;
}

XMLHttpRequest 的方法
open("method","url"); 確定發送的方式和目標
send(content); 發送信息
setRequestHeader("header","value"); 指定首部的值(之前必須調用open方法),post請求時設置一個header
abort()停止當前請求
getAllResponseHeaders()返回請求的所有響應的鍵值對
getAllResponseHeader("header")返回指定首部值
屬性:
onreadystatechange 每個狀態的改變都會觸發這個事件,通常會調用一個javascript函數
readyState 請求的狀態(0未初始化,1正在加載,2已加載,3交互中,4完成)
responseText 服務器的響應,返回一個字符串,表示爲xml,可以解析爲dom對象
status 服務器的Http狀態(200 Ok,404對應未找到資源,500等表示服務器錯誤)
statusText HTTP狀態碼相應的文本

原生的ajax處理
window.onload=function()
{
 document.getElementsByTagName("a")[0].onclick=function()
 {
  var req=new XMLHttpRequest();
  var url=this.href;
  var method="GET";
  req.open(method,url);
  req.send(null);
  req.onreadystatechange=function(){
   if(req.readyState==4)
   {
    req.status==200||req.status==304)
    alert(req.req.responseText);
   }
  }
  return false;
 }
}


open(method,url,asynch)
method:請求的方式 :get,post
url:請求的目的
asynch:是否異步傳輸默認爲true(一般不使用)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章