關(guān)于Ajax

Ajax是異步的javascript和xml Ajax的交互使用的是瀏覽器的XMLHttpRequest,通過(guò)新建XMLHttpRequest,給出請(qǐng)求url,指明請(qǐng)求方式和數(shù)據(jù)及數(shù)據(jù)類型,得到局部響應(yīng),更改頁(yè)面。

同步是必須等待,這個(gè)請(qǐng)求如果沒(méi)有執(zhí)行結(jié)束,那么就會(huì)形成阻塞;異步是發(fā)出請(qǐng)求后,仍可以做其他的事,結(jié)果返回時(shí)接收響應(yīng)。

Ajax技術(shù)核心就是XMLHttpRequest對(duì)象。
Ajax技術(shù)的工作原理:可以分成3步
1.創(chuàng)建Ajax對(duì)象:var xhr = new XMLHttpRequest();
2.xhr 發(fā)送請(qǐng)求:xhr.open('get','test.html','true');
xhr.send();
3.xhr獲取響應(yīng):

                          xhr.onreadystatechange = function(){
                                   if(xhr.readystate == 4){//請(qǐng)求的狀態(tài)碼
                                                       /*
                                                                   0:請(qǐng)求還沒(méi)有建立(open執(zhí)行前)
                                                                   1:請(qǐng)求建立了還沒(méi)發(fā)送(執(zhí)行了open)
                                                                    2:請(qǐng)求正式發(fā)送(執(zhí)行了send)
                                                                   3:請(qǐng)求已受理,有部分?jǐn)?shù)據(jù)可以用,但還沒(méi)有處理完成
                                                                 4:請(qǐng)求完全處理完成
                                                           */
                                         alert(xhr.responseText);//返回的數(shù)據(jù)
                                     }
                             }

一、簡(jiǎn)述Ajax的工作原理。

通過(guò)XMLHttpRequest對(duì)象來(lái)向服務(wù)器發(fā)送異步請(qǐng)求,從服務(wù)器獲得數(shù)據(jù),然后用JavaScript來(lái)操作DOM,從而更新頁(yè)面。這其中最關(guān)鍵的就是從服務(wù)器獲得請(qǐng)求數(shù)據(jù)。

二、Ajax的交互流程是什么?

(1)啟動(dòng)獲取XMLHttpRequest對(duì)象。
(2)open打開(kāi)URL通道,并設(shè)置異步傳輸。
(3)發(fā)送數(shù)據(jù)到服務(wù)器。
(4)服務(wù)器接收數(shù)據(jù)并處理,處理完成后返回結(jié)果。
(5)客戶端接收服務(wù)器端返回。

三、HTTP的請(qǐng)求過(guò)程:

HTTP是一種無(wú)狀態(tài)的協(xié)議。(即不建立持久的連接,也就是服務(wù)端不保留連接的信息)
(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ù)器向?yàn)g覽器發(fā)送數(shù)據(jù)。
(7)Web服務(wù)器關(guān)閉TCP連接。

四、HTTP響應(yīng)的組成:

(1)一個(gè)數(shù)字和文字組成的狀態(tài)嗎,用來(lái)顯示請(qǐng)求是成功還是失敗
(2)響應(yīng)頭:響應(yīng)頭和請(qǐng)求頭一樣包含許多有用的信息,例如:服務(wù)器類型、日期時(shí)間、內(nèi)容類型和長(zhǎng)度等
(3)響應(yīng)體:即響應(yīng)正文

五、GET與POST

GET(獲取、查詢):

一般用于信息獲取,http請(qǐng)求的默認(rèn)方法
get請(qǐng)求比較安全,一般用來(lái)信息查詢而不是修改信息
get發(fā)送的信息對(duì)任何人可見(jiàn),因?yàn)樗怯肬RL傳遞參數(shù)的
對(duì)所發(fā)送信息的數(shù)量也有限制,一般在2000個(gè)字符

POST(新建、修改):

一般用于修改服務(wù)器上的資源
發(fā)送的信息嵌在HTTP請(qǐng)求的請(qǐng)求體中(發(fā)送的信息對(duì)其他人不可見(jiàn))
對(duì)所發(fā)送信息的數(shù)量無(wú)限制

最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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