AJAX即“Asynchronous Javascript And XML”(異步JavaScript和XML),是指一種創建交互式網頁應用的網頁開發技術。
通過在後臺與服務器進行少量數據交換,AJAX 可以使網頁實現異步更新。這意味着可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。
傳統的網頁(不使用 AJAX)如果需要更新內容,必須重載整個網頁頁面
使用Javascript向服務器提出請求並處理響應而不阻塞用戶!核心對象XMLHTTPRequest。通過這個對象,您的 JavaScript 可在不重載頁面的情況與Web服務器交換數據。
什麼是readyState
readyState是XMLHttpRequest對象的一個屬性,用來標識當前XMLHttpRequest對象處於什麼狀態。
readyState總共有5個狀態值,分別爲0~4,每個值代表了不同的含義,如下表所示:
0 未初始化狀態:此時,已經創建了一個XMLHttpRequest對象
1 準備發送狀態:此時,已經調用了XMLHttpRequest對象的open方法,並且XMLHttpRequest對象已經準備好將一個請求發送到服務器端
2 已經發送狀態:此時,已經通過send方法把一個請求發送到服務器端,但是還沒有收到一個響應
3 正在接收狀態:此時,已經接收到HTTP響應頭部信息,但是消息體部分還沒有完全接收到
4 完成響應狀態:此時,已經完成了HTTP響應的接收
什麼是status
status是XMLHttpRequest對象的一個屬性,表示響應的HTTP狀態碼。
在HTTP1.1協議下,HTTP狀態碼總共可分爲5大類,如下表所示:
1XX 服務器收到請求,需要繼續處理。例如101狀態碼,表示服務器將通知客戶端使用更高版本的HTTP協議。
2XX 請求成功。例如200狀態碼,表示請求所希望的響應頭或數據體將隨此響應返回。
3XX 重定向。例如302狀態碼,表示臨時重定向,請求將包含一個新的URL地址,客戶端將對新的地址進行GET請求。
4XX 客戶端錯誤。例如404狀態碼,表示客戶端請求的資源不存在。
5XX 服務器錯誤。例如500狀態碼,表示服務器遇到了一個未曾預料的情況,導致了它無法完成響應,一般來說,這個問題會在程序代碼出錯時出現。
//xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
實例:
//創建對象
if(window.XMLHttpRequest){ //創建非IE的http對象
httpObj = new XMLHttpRequest();
}else{ //創建ie低版本的http對象
httpObj = new ActiveXObject('Microsoft.XMLHTTP');
}
//連接服務器,併發送數據
httpObj.open('get','http://localhost/p30/my_project/index.php?userName='+encodeURIComponent(userName)+'&pwd='+encodeURIComponent(pwd),true);
***如果該請求方式爲post請求,則需要對請求頭進行設置
httpObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//發送數據get方式發送數據如下
httpObj.send(null);
***如果請求方式爲post方式 則該null修改爲要發送的數據格式爲
name=value&name1=value2, 即 httpObj.send('name=value&name1=value2');
//返回響應
httpObj.onreadystatechange = function(){
alert(httpObj.readyState);
if(httpObj.readyState == 4){
if(httpObj.status == 200){
var result = httpObj.responseText;
document.write(result);
/* for(var a in result){
alert(result.a);
}*/
}
}else{
alert('請求錯誤');
}
};
ajax簡單理解
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
虛擬化技術--服務器虛擬化
dawei818
2019-02-23 14:05:39
透析IBM POWER6及其新一代高端P570
tvta
2019-02-23 14:06:40
IBM POWER 6處理器緣何背道而馳
tvta
2019-02-23 14:06:40
UNIX和Windows之間區別
tvta
2019-02-23 14:06:40
應用虛擬化技術的五大理由
dawei818
2019-02-23 14:05:37
bat記錄遠程桌面連接登錄信息
jason1982
2019-02-24 12:57:09
Exchange Server 2010 POP3&IMAP設置詳解
lingping
2019-02-23 14:05:54
windows 2008 全新仲裁模式
qyh282110204
2019-02-23 14:05:36
軟路由建立PPPOE服務器
ct19871125
2019-02-23 14:04:24
MySQL性能優化的21個最佳實踐
fdb2b
2019-02-23 14:01:03
centos下簡單實現日誌切割,並上傳至日誌服務器。
隨風上升
2019-02-23 13:59:02
javascript沒有加載完就不可以響應ajax請求了麼
psychebb
2019-02-23 14:02:24