ajax 基本知識

在ajax中有個非常成重要的對象:XMLHttpRequest

完成ajax需要javascript支持

這個對象有以下主要的方法和屬性:
方法:
abort() ----------------->取消當前所發出的請求
open ---------------->創建請求 ,示例:open("post","路徑") 這個方法的post指的是提交的方式,可以取 post,get等提交方式
send()--------------->發送請求 示例:send(null);這個send()方法的參數一般都是null
getAllResponseHeaders(); ---->取得所有的http頭信息
getResponseHeader();----->取的指定的http頭信息
setRequestHeader()--------->設置一個指定請求的的http頭信息

屬性:

readyState:返回當前請求的狀態,只讀

onreadystatechange:指定當readyState改變時使用的操作,一般是指定回調函數

responseText------->以文本的形式去的迴應數據,只讀
responseStream------->以Ado Stream 對象的形式去的迴應數據,只讀
responseBody------->以迴應數據正文以unsigned byte 數組形式返回,只讀
responseXML------->以xml文檔的形式去的迴應數據,只讀
status---------->返回當前請求的http狀態碼,只讀
statusText--------->返回當前請求的的響應行狀態,只讀

其中readyState取值由5種取值:

0:請求還沒有建立,(open()方法調用之前)

1:請求已經建立,但還沒有發出(send()方法調用之前)

2:請求已經發出正在處理當中

3:請求已經處理,正在接收服務器信息,相應通常部分數據可用,但服務器還沒有完全響應

4:響應已經完成

代碼示例:

下面給出一個簡單示例:

一.ajaxdemo.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script>
window.onload=function(){
document.getElementById("btn").addEventListener("click",function(){
showInfo();
},false);
}
var xmlHttp;
function createXMLHttp(){ //此方法的作用是創建XMLHttpRequest對象
if(window.XMLHttpRequest){ //非IE瀏覽器可以直接實例化XMLHttpRequest對象
xmlHttp=new XMLHttpRequest();
}else{ //如果是IE瀏覽器,則通過new ActiveXObject()創建對象
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
function showInfo(){
createXMLHttp();  //創建XMLHttpRequest對象
xmlHttp.open("post","info.html");  //創建請求
xmlHttp.onreadystatechange=showInfoBack; //指定回調函數爲showInfoBack()方法
xmlHttp.send(null);//發送請求
}
function showInfoBack(){
if(xmlHttp.readyState==4&&xmlHttp.status==200){
var info=xmlHttp.responseText;//以普通文本的形式返回服務器響應
document.getElementById("info").innerHTML=info;
}
}
</script>
</head>
<body>
<input type="button" value="顯示文本" id="btn"/>
<span id="info"></span>
</body>
</html>

二.info.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
Hello World!!
</body>
</html>

以上就是ajax的基本講解,本人小白一個,如果有錯誤請指正。


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