亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

AJAX中文參考手冊(cè)

閱讀(33061) 更新時(shí)間(2022-04-12)

在《AJAX中文參考手冊(cè)》中,AJAX 不是新的編程語言,而是一種使用現(xiàn)有標(biāo)準(zhǔn)的新方法。AJAX 是與服務(wù)器交換數(shù)據(jù)并更新部分網(wǎng)頁的藝術(shù),在不重新加載整個(gè)頁面的情況下。


AJAX即“Asynchronous JavaScript and XML”(異步的JavaScript與XML技術(shù)),指的是一套綜合了多項(xiàng)技術(shù)的瀏覽器端網(wǎng)頁開發(fā)技術(shù)。Ajax的概念由杰西·詹姆士·賈瑞特所提出。

傳統(tǒng)的Web應(yīng)用允許用戶端填寫表單(form),當(dāng)提交表單時(shí)就向網(wǎng)頁服務(wù)器發(fā)送一個(gè)請(qǐng)求。服務(wù)器接收并處理傳來的表單,然后送回一個(gè)新的網(wǎng)頁,但這個(gè)做法浪費(fèi)了許多帶寬,因?yàn)樵谇昂髢蓚€(gè)頁面中的大部分HTML碼往往是相同的。由于每次應(yīng)用的溝通都需要向服務(wù)器發(fā)送請(qǐng)求,應(yīng)用的回應(yīng)時(shí)間依賴于服務(wù)器的回應(yīng)時(shí)間。這導(dǎo)致了用戶界面的回應(yīng)比本機(jī)應(yīng)用慢得多。

與此不同,AJAX應(yīng)用可以僅向服務(wù)器發(fā)送并取回必須的數(shù)據(jù),并在客戶端采用JavaScript處理來自服務(wù)器的回應(yīng)。因?yàn)樵诜?wù)器和瀏覽器之間交換的數(shù)據(jù)大量減少,服務(wù)器回應(yīng)更快了。同時(shí),很多的處理工作可以在發(fā)出請(qǐng)求的客戶端機(jī)器上完成,因此Web服務(wù)器的負(fù)荷也減少了。

提示:在您開始學(xué)習(xí)AJAX之前,您應(yīng)該對(duì)HTML、CSS、javascript知識(shí)有基本的了解。

類似于DHTML或LAMP,AJAX不是指一種單一的技術(shù),而是有機(jī)地利用了一系列相關(guān)的技術(shù)。雖然其名稱包含XML,但實(shí)際上數(shù)據(jù)格式可以由JSON代替,進(jìn)一步減少數(shù)據(jù)量,形成所謂的AJAJ。而客戶端與服務(wù)器也并不需要異步。

AJAX的初步使用

實(shí)例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Tryrun 1</title>
</head>
<body>
    <div id="view">
        <p>點(diǎn)擊下面的按鈕,將 Ajax 請(qǐng)求回來的數(shù)據(jù)更新在該文本內(nèi)</p>
    </div>
    <button type="button" id="btn">發(fā)起 Ajax 請(qǐng)求</button>

    <script>
        document.getElementById("btn").onclick = ajaxRequest;

        function ajaxRequest () {
            var xhr = new XMLHttpRequest();

            xhr.open("GET", "http://ipnx.cn/statics/demosource/ajax_info.txt", true);
            xhr.send();

            xhr.onreadystatechange = function(){
                if (xhr.readyState === 4 && xhr.status === 200) {
                    document.getElementById("view").innerHTML = xhr.responseText;
                }                
            }
        }
    </script>
</body>

運(yùn)行實(shí)例 ?

點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例

提示:我們的AJAX教程將幫助您逐步學(xué)習(xí)如何掌握并應(yīng)用AJAX,如果你有任何疑問,請(qǐng)前往PHP中文網(wǎng)AJAX社區(qū)提出你的問題,會(huì)有熱心網(wǎng)友為你解答。

AJAX優(yōu)缺點(diǎn)

  • 使用Ajax的最大優(yōu)點(diǎn),就是能在不更新整個(gè)頁面的前提下維護(hù)數(shù)據(jù)。這使得Web應(yīng)用程序更為迅捷地回應(yīng)用戶動(dòng)作,并避免了在網(wǎng)絡(luò)上發(fā)送那些沒有改變的信息。

  • Ajax不需要任何瀏覽器插件,但需要用戶允許JavaScript在瀏覽器上執(zhí)行。就像DHTML應(yīng)用程序那樣,Ajax應(yīng)用程序必須在眾多不同的瀏覽器和平臺(tái)上經(jīng)過嚴(yán)格的測(cè)試。隨著Ajax的成熟,一些簡(jiǎn)化Ajax使用方法的程序庫也相繼問世。同樣,也出現(xiàn)了另一種輔助程序設(shè)計(jì)的技術(shù),為那些不支持JavaScript的用戶提供替代功能。

  • 對(duì)應(yīng)用Ajax最主要的批評(píng)就是,它可能破壞瀏覽器的后退與加入收藏書簽功能。在動(dòng)態(tài)更新頁面的情況下,用戶無法回到前一個(gè)頁面狀態(tài),這是因?yàn)闉g覽器僅能記下歷史記錄中的靜態(tài)頁面。一個(gè)被完整讀入的頁面與一個(gè)已經(jīng)被動(dòng)態(tài)修改過的頁面之間的可能差別非常微妙;用戶通常都希望單擊后退按鈕,就能夠取消他們的前一次操作,但是在Ajax應(yīng)用程序中,卻無法這樣做。不過開發(fā)者已想出了種種辦法來解決這個(gè)問題,HTML5 之前的方法大多是在用戶單擊后退按鈕訪問歷史記錄時(shí),通過創(chuàng)建或使用一個(gè)隱藏的IFRAME來重現(xiàn)頁面上的變更。(例如,當(dāng)用戶在Google Maps中單擊后退時(shí),它在一個(gè)隱藏的IFRAME中進(jìn)行搜索,然后將搜索結(jié)果反映到Ajax元素上,以便將應(yīng)用程序狀態(tài)恢復(fù)到當(dāng)時(shí)的狀態(tài))。

  • 關(guān)于無法將狀態(tài)加入收藏或書簽的問題,HTML5之前的一種方式是使用URL片斷標(biāo)識(shí)符(通常被稱為錨點(diǎn),即URL中#后面的部分)來保持追蹤,允許用戶回到指定的某個(gè)應(yīng)用程序狀態(tài)。(許多瀏覽器允許JavaScript動(dòng)態(tài)更新錨點(diǎn),這使得Ajax應(yīng)用程序能夠在更新顯示內(nèi)容的同時(shí)更新錨點(diǎn)。)HTML5 以后可以直接操作瀏覽歷史,并以字符串形式存儲(chǔ)網(wǎng)頁狀態(tài),將網(wǎng)頁加入網(wǎng)頁收藏夾或書簽時(shí)狀態(tài)會(huì)被隱形地保留。上述兩個(gè)方法也可以同時(shí)解決無法后退的問題。

  • 進(jìn)行Ajax開發(fā)時(shí),網(wǎng)絡(luò)延遲——即用戶發(fā)出請(qǐng)求到服務(wù)器發(fā)出響應(yīng)之間的間隔——需要慎重考慮。如果不給予用戶明確的回應(yīng),沒有恰當(dāng)?shù)念A(yù)讀數(shù)據(jù),或者對(duì)XMLHttpRequest的不恰當(dāng)處理,都會(huì)使用戶感到厭煩。通常的解決方案是,使用一個(gè)可視化的組件來告訴用戶系統(tǒng)正在進(jìn)行后臺(tái)操作并且正在讀取數(shù)據(jù)和內(nèi)容。

應(yīng)用

  • 運(yùn)用XHTML CSS來表達(dá)信息;

  • 運(yùn)用JavaScript操作DOM(Document Object Model)來運(yùn)行動(dòng)態(tài)效果;

  • 運(yùn)用XML和XSLT操作數(shù)據(jù);

  • 運(yùn)用XMLHttpRequest或新的Fetch API與網(wǎng)頁服務(wù)器進(jìn)行異步數(shù)據(jù)交換;

注意:AJAX與Flash、Silverlight和Java?Applet等RIA技術(shù)是有區(qū)分的。

本AJAX教程手冊(cè)涵蓋的內(nèi)容

本AJAX教程手冊(cè)涵蓋所有AJAX基礎(chǔ)使用方法,包含AJAX入門、AJAX簡(jiǎn)介、AJAX實(shí)例、XHR創(chuàng)建對(duì)象、XHR請(qǐng)求、XHR響應(yīng)、XHR readyState、AJAX ASP/PHP、AJAX數(shù)據(jù)庫、AJAX XML等知識(shí)。

提示:本教程的每一章都包含了很多AJAX實(shí)例,您可以直接點(diǎn)擊?"運(yùn)行實(shí)例"?按鈕在線查看結(jié)果。這些例子將幫助您更好地理解和使用AJAX。

最新章節(jié)


AJAX 實(shí)例 2016-10-19
AJAX XML 2016-10-19
AJAX 數(shù)據(jù)庫 2016-10-19
AJAX ASP/PHP 2016-10-19
XHR readystate 2016-10-19
XHR 響應(yīng) 2016-10-19
XHR 請(qǐng)求 2016-10-19
XHR 創(chuàng)建對(duì)象 2016-10-19