国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

AJAX中文參考手冊(cè)

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

在《AJAX中文參考手冊(cè)》中,AJAX 不是新的程式語(yǔ)言,而是使用現(xiàn)有標(biāo)準(zhǔn)的新方法。 AJAX 是與??伺服器交換資料並更新部分網(wǎng)頁(yè)的藝術(shù),在不重新載入整個(gè)頁(yè)面的情況下。


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

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

與此不同,AJAX應(yīng)用程式可以僅向伺服器發(fā)送並取回必須的數(shù)據(jù),並在客戶端採(cǎi)用JavaScript處理來(lái)自伺服器的回應(yīng)。因?yàn)樵谒欧骱蜑g覽器之間交換的資料大量減少,伺服器回應(yīng)更快了。同時(shí),很多的處理工作可以在發(fā)出請(qǐng)求的客戶端機(jī)器上完成,因此Web伺服器的負(fù)載也減少了。

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

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

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)求回來(lái)的數(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://www.miracleart.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é)將幫助您逐步學(xué)習(xí)如何掌握並應(yīng)用AJAX,如果你有任何疑問(wèn),請(qǐng)前往PHP中文網(wǎng)AJAX社群提出你的問(wèn)題,會(huì)有熱心網(wǎng)友為你解答。

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

  • 使用Ajax的最大優(yōu)點(diǎn),就是能在不更新整個(gè)頁(yè)面的前提下維護(hù)資料。這使得網(wǎng)路應(yīng)用程式更為迅捷地回應(yīng)使用者動(dòng)作,並避免了在網(wǎng)路上發(fā)送那些沒(méi)有改變的訊息。

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

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

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

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

應(yīng)用程式

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

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

  • 運(yùn)用XML和XSLT操作資料;

  • 運(yùn)用XMLHttpRequest或新的Fetch API與網(wǎng)頁(yè)伺服器進(jìn)行非同步資料交換;

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

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

本AJAX教學(xué)手冊(cè)涵蓋所有AJAX基礎(chǔ)使用方法,包含AJAX入門、AJAX簡(jiǎn)介、AJAX實(shí)例、XHR建立物件、XHR請(qǐng)求、 XHR響應(yīng)、XHR readyState、AJAX ASP/PHP、AJAX資料庫(kù)、AJAX XML等知識(shí)。

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

最新章節(jié)


AJAX 實(shí)例 2016-10-19
AJAX XML 2016-10-19
AJAX 數(shù)據(jù)庫(kù) 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