|
導(dǎo)讀網(wǎng)頁(yè)的本質(zhì)就是超級(jí)文本標(biāo)記語(yǔ)言,通過(guò)結(jié)合使用其他的Web技術(shù)(如:腳本語(yǔ)言、公共網(wǎng)關(guān)接口、組件等),可以創(chuàng)造出功能強(qiáng)大的網(wǎng)頁(yè)。因而,超級(jí)文本標(biāo)記語(yǔ)言是萬(wàn)維網(wǎng)(Web)編程的基礎(chǔ),也就是說(shuō)萬(wàn)維網(wǎng)是建立... 網(wǎng)頁(yè)的本質(zhì)就是超級(jí)文本標(biāo)記語(yǔ)言,通過(guò)結(jié)合使用其他的Web技術(shù)(如:腳本語(yǔ)言、公共網(wǎng)關(guān)接口、組件等),可以創(chuàng)造出功能強(qiáng)大的網(wǎng)頁(yè)。因而,超級(jí)文本標(biāo)記語(yǔ)言是萬(wàn)維網(wǎng)(Web)編程的基礎(chǔ),也就是說(shuō)萬(wàn)維網(wǎng)是建立在超文本基礎(chǔ)之上的。超級(jí)文本標(biāo)記語(yǔ)言之所以稱為超文本標(biāo)記語(yǔ)言,是因?yàn)槲谋局邪怂^“超級(jí)鏈接”點(diǎn)。 今天將分享的是如何通過(guò)AJAX進(jìn)行異步請(qǐng)求,有一定的參考價(jià)值,希望對(duì)大家有所幫助。AJAX定義 AJAX是Asynchronous JavaScript + XML的簡(jiǎn)寫,使我們可以通過(guò) JavaScript 直接獲取服務(wù)端最新的內(nèi)容而不必重新加載 頁(yè)面。讓 Web 更能貼近用戶體驗(yàn)。其實(shí)AJAX 就是瀏覽器提供的一套 API ,可以通過(guò) JavaScript 調(diào)用,從而實(shí)現(xiàn)通過(guò)代碼控制請(qǐng)求與響應(yīng)。 HTTP是一種請(qǐng)求 - 響應(yīng)協(xié)議,這意味著瀏覽器向Web服務(wù)器發(fā)出請(qǐng)求,然后Web服務(wù)器創(chuàng)建它發(fā)送回瀏覽器的響應(yīng),并且瀏覽器以可視方式將該文本呈現(xiàn)給用戶。但是,如果您只需要更新頁(yè)面的一小部分,就需要用到AJAX了然后使用瀏覽器的DOM模型將響應(yīng)動(dòng)態(tài)插入頁(yè)面中。 AJAX異步請(qǐng)求的四個(gè)步驟 (1)為瀏覽器創(chuàng)建一個(gè) XMLHttpRequest對(duì)象 var xhr = new XMLHttpRequest(); (2)創(chuàng)建將請(qǐng)求發(fā)送到服務(wù)器的功能: xhr.open('GET', './demo.php');(3)通過(guò)連接發(fā)生一次請(qǐng)求 xhr.send(string); (4)指定 xhr 狀態(tài)變化事件處理函數(shù) xhr.onreadystatechange = function () {
// 通過(guò) xhr 的 readyState 判斷此次請(qǐng)求的響應(yīng)是否接收完成
if (this.readyState === 4) {
// 通過(guò) xhr 的 responseText 獲取到響應(yīng)的響應(yīng)體
console.log(this)readyState的四個(gè)狀態(tài) 0 :代表xhr被創(chuàng)建但還沒(méi)有調(diào)用open方法。 1 :open()方法已經(jīng)被調(diào)用建立了連接。 2:調(diào)用了send()方法,并且已經(jīng)可以獲取狀態(tài)行和響應(yīng)頭。 3: 響應(yīng)體加載中, responseText 屬性可能已經(jīng)包含部分?jǐn)?shù)據(jù)。 4: 響應(yīng)體加載完成,可以直接使用 responseText 。 例: var xhr = new XMLHttpRequest()//0狀態(tài)
xhr.open('GET', 'time.php')//1狀態(tài),open方法已經(jīng)調(diào)用了,建立一個(gè)與服務(wù)端特定端口的連接
xhr.send()
xhr.addEventListener('readystatechange', function () {
})//里面包含了2,3,4三種狀態(tài),2分別為接受到了響應(yīng)頭但還沒(méi)有接受到響應(yīng)體;
正在下載響應(yīng)報(bào)文;
報(bào)文下載下來(lái)處理響應(yīng)體
xhr.onreadystatechange = function () {
if (this.readyState === 4) {
}//處理函數(shù)總結(jié):以上就是本篇文章的全部?jī)?nèi)容了,希望對(duì)大家學(xué)習(xí)ajax有所幫助。 以上就是如何通過(guò)AJAX進(jìn)行異步請(qǐng)求的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章! 網(wǎng)站建設(shè)是一個(gè)廣義的術(shù)語(yǔ),涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護(hù)的網(wǎng)站。 |
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!