AJAX原理

了解AJAX三步走

第一步理解http請(qǐng)求的步驟

http 是計(jì)算機(jī)通過網(wǎng)絡(luò)進(jìn)行通信的規(guī)則

實(shí)現(xiàn)客戶端向服務(wù)器發(fā)送請(qǐng)求信息和服務(wù)

他是一種無狀態(tài)的協(xié)議

1.完整的http請(qǐng)求,通常需要七步

1.建立TCP鏈接
2.web瀏覽器向web服務(wù)器發(fā)送請(qǐng)求命令
3.web瀏覽器發(fā)送請(qǐng)求頭信息
4.web服務(wù)器應(yīng)答
5.web服務(wù)器發(fā)送應(yīng)答頭信息
6.web服務(wù)器向web瀏覽器發(fā)送數(shù)據(jù)
7.web服務(wù)器關(guān)閉TCP鏈接

2.一個(gè)http請(qǐng)求一般由四部分組成

1.http請(qǐng)求的方法或動(dòng)作,是get還是post
2.請(qǐng)求的地址路徑
3.請(qǐng)求頭,包含客戶端環(huán)境的信息,身份驗(yàn)證等
4.請(qǐng)求正文,也就是請(qǐng)求體,包含客戶端提交的查詢字符串信息,表單信息等

3.一個(gè)http響應(yīng)一般由三部分組成

一個(gè)數(shù)字和文字組成的狀態(tài)碼,顯示請(qǐng)求的狀態(tài),是成功還是失敗

http狀態(tài)碼由3位數(shù)字構(gòu)成,其中首位數(shù)字定義了狀態(tài)碼的類型

1xx:信息類,表示收到web瀏覽器請(qǐng)求,正在處理中
2xx:表示成功,請(qǐng)求被正確接受
3xx:重定向,表示請(qǐng)求沒有成功,客戶必須采取進(jìn)一步的動(dòng)作
4xx:客戶端錯(cuò)誤,表示客戶端請(qǐng)求有錯(cuò)誤
5xx:服務(wù)器錯(cuò)誤,表示服務(wù)器不能完成對(duì)請(qǐng)求的處理。

第二步知道異步的JavaScript和XML

ps:這部分內(nèi)容過多可以看一下參考資料

紅皮書
xml

第三步是XMLHttpRequest對(duì)象

創(chuàng)建對(duì)象

IE7+:
var iable = new XMLHttpRequest();
IE5.5 IE6
variable=new ActiveXObject(“Microsoft.XMLHTTP”);

發(fā)送請(qǐng)求

1、open(method,url,saync)
2、setRequestHeader(“Content-type”,”application/x-www-form-urlencoded”)
3、send(string)

獲取響應(yīng)

1、responseText 獲得字符串形式的響應(yīng)數(shù)據(jù)
2、responseXML 獲得 XML 形式的響應(yīng)數(shù)據(jù)
3、status和statusText 獲取成功和失敗響應(yīng)數(shù)據(jù)
4、getAllResponseHeader() 獲取所有的響應(yīng)報(bào)頭
5、getResponseHeader()

存有 XMLHttpRequest 的狀態(tài)。從 0 到 4 發(fā)生變化。

0: 請(qǐng)求未初始化,open方法還沒有調(diào)用
1: 服務(wù)器連接已建立,open方法還沒有調(diào)用
2: 請(qǐng)求已接收,接受到頭信息
3: 請(qǐng)求處理中
4: 請(qǐng)求已完成,且響應(yīng)已就緒

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評(píng)論 19 139
  • ajax作為前端開發(fā)必需的基礎(chǔ)能力之一,你可能會(huì)使用它,但并不一定懂得其原理,以及更深入的服務(wù)器通信相關(guān)的知識(shí)。在...
    蕭玄辭閱讀 885評(píng)論 0 0
  • 1、ajax技術(shù)的背景 不可否認(rèn),ajax技術(shù)的流行得益于google的大力推廣,正是由于google earth...
    raincoco閱讀 452評(píng)論 0 4
  • AJAX全稱為“Asynchronous JavaScript and XML”(異步JavaScript和XML...
    于曉魚閱讀 275評(píng)論 0 5
  • [引言] AJAX全稱為“Asynchronous JavaScript and XML”(異步JavaScrip...
    博為峰51Code教研組閱讀 1,803評(píng)論 0 36

友情鏈接更多精彩內(nèi)容