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(一般不使用)