ajax心得1--ajax入門介紹

來源:互聯網
上載者:User

1.ajax概述

正確讀音是:e:j^ks,但是大多數人都習慣稱之為:a:j^ks。AJAX即“Asynchronous JavaScript and XML”(非同步JavaScriptXML),AJAX並非縮寫詞,而是由Jesse James Gaiiett創造的名詞,是指一種建立互動式網頁應用的網頁開發技術.允許瀏覽器與伺服器通訊而無須重新整理當前頁面的技術都被叫做Ajax.

“Ajax”這個名字是在2005年2月,AdaptivePath的Jesse James Garrett在他的文章Ajax:ANew Approach to Web Application中創造。而 Ajax 這項技術,是 Google 在Google Labs發布Google Maps和Google Suggest後真正為人所認識。

2. 同步互動和非同步互動

    舉個例子:普通B/S模式(同步) 、AJAX技術(非同步)

    同步:提交請求->等待伺服器處理->處理完畢返回這個期間用戶端瀏覽器不能幹任何事。

    非同步: 請求通過事件觸發->伺服器處理(這時瀏覽器仍然可以作其他事情)->處理完畢

     同步是指:發送方發出資料後,等接收方發迴響應以後才發下一個資料包的通訊方式。  
     非同步是指:發送方發出資料後,不等接收方發迴響應,接著發送下個資料包的通訊方式 。

   易懂的理解:

   非同步傳輸:   你傳輸吧,我去做我的事了,傳輸完了告訴我一聲;同步傳輸:   你現在傳輸,我要親眼看你傳輸完成,才去做別的事

3. 不用重新整理整個頁面便可與伺服器通訊的辦法:

•       Flash

•       Java applet

•       架構:如果使用一組架構構造了一個網頁,可以只更新其中一個架構,而不必驚動整個頁面

•       隱藏的iframe

•       XMLHttpRequest:該對象是對 JavaScript 的一個擴充,可使網頁與伺服器進行通訊。是建立 Ajax 應用的最佳選擇。實際上通常把 Ajax 當成 XMLHttpRequest 對象的代名詞

4. Ajax的工作原理

l    Ajax的核心是JavaScript對象XmlHttpRequest。

    該對象在Internet Explorer5中首次引入,它是一種支援非同步請求的技術。簡而言之,XmlHttpRequest使您可以使用JavaScript向伺服器提出請求並處理響應,而不阻塞使用者。

AJAX採用非同步互動過程。AJAX在使用者與伺服器之間引入一個中間媒介,從而消除了網路互動過程中的處理—等待缺點。

使用者的瀏覽器在執行任務時即裝載了AJAX引擎。AJAX引擎用JavaScript語言編寫,通常藏在一個隱藏的架構中。它負責編譯使用者介面及與伺服器之間的互動。AJAX引擎允許使用者與應用軟體之間的互動過程非同步進行,獨立於使用者與網路伺服器間的交流。現在,可以用Javascript調用AJAX引擎來代替產生一個HTTP的使用者動作,記憶體中的資料編輯、頁面導航、資料校正這些不需要重新載入整個頁面的需求可以交給AJAX來執行。

l    使用AJAX,可以為JSP、開發人員、終端使用者帶來可見的便捷。

5.ajax工具包

Ajax並不是一項新技術,它實際上是幾種技術,每種技術各盡其職,以一種全新的方式彙總在一起。

•       伺服器端語言:伺服器需要具備向瀏覽器發送特定資訊的能力。Ajax與伺服器端語言無關

•      XML (eXtensible Markup Language,可延伸標記語言 (XML)) 是一種描述資料的格式。Aajx 程式需要某種格式化的格式來在伺服器和用戶端之間傳遞資訊,XML 是其中的一種選擇

•      XHTML(eXtended Hypertext Markup Language,使用擴充超媒體標記語言)和 CSS(Cascading Style Sheet,級聯樣式單)標準化呈現;

•      DOM(Document Object Model,文件物件模型)實現動態顯示和互動;

•      使用XMLHTTP組件XMLHttpRequest對象進行非同步資料讀取

•      使用JavaScript綁定和處理所有資料

6. AJAX不是完美的技術。也存在缺陷:

1)AJAX大量使用了Javascript和AJAX引擎,而這個取決於瀏覽器的支援。IE5.0及以上、Mozilla1.0、NetScape7及以上版本才支援,Mozilla雖然也支援AJAX,但是提供XMLHttpRequest的方式不一樣。所以,使用AJAX的程式必須測試針對各個瀏覽器的相容性。

2)AJAX更新頁面內容的時候並沒有重新整理整個頁面,因此,網頁的後退功能是失效的;有的使用者還經常搞不清楚現在的資料是舊的還是已經更新過的。這個就需要在明顯位置提醒使用者“資料已更新”。

3)對流媒體的支援沒有FLASH、Java Applet好。

4)一些手持功能(如手機、PDA等)現在還不能很好的支援Ajax。 7.瀏覽器的同步 1.1說明

         1、這是一個非常典型的瀏覽器同步互動圖

         2、步驟如下:

                      1、客戶發出HTTP請求

                      2、伺服器接受客戶的請求並處理客戶的請求

                      3、伺服器相應客戶的請求,返回客戶所需要的頁面

           3、缺點:

                     1、每一次客戶提交請求的時候,提交的是整個頁面。也就是說不管這個頁面的資料量大小,都要經過網路的傳輸。這樣給網路造成了資料的壓力。

                     2、在每次客戶提交請求的時候,因為要提交整個資料,所以就要刷心整個頁面。這樣情況對於使用者的互動性來說是很不好的。因為一提交以後使用者當前的頁面就成了白班,使用者所做的事情只能是等待等待再等待。

                     3、在每次進行提交請求的時候,使用者有可能讓伺服器處理的資料很少,比如163郵件系統的登陸,伺服器端實際上只需要使用者名稱和密碼就可以了,沒有必要把其他資料也傳輸到伺服器上。但是同步是做不到這點的。

                      4、特別是在管理系統中,這些系統對客戶介面的友好型要求是比較高的,而同步互動是不滿足這樣的特點的。 8.瀏覽器的非同步互動 2.1說明

        1、這是一個非常典型的瀏覽器非同步互動圖

         2、從圖上可以看出來,用戶端沒有再發送http請求,而是用JavaScript調用一個叫Ajax engine來發送資料,所以不用提交整個頁面。

         3、從返回來看,返回的也不再是客戶需要的頁面,而是客戶需要的資料

         4、優點:

                    1、不用提交整個頁面,而是用JavaScript提交具體的資料,這樣就使一些沒有必要在網路上傳輸的資料不用傳輸了。

                    2、因為只提交資料,所以每天提交請求的資料庫不是很大,這樣可以減輕網路傳輸資料的壓力。

                    3、由於不用重新整理整個頁面,所以即便提交以後,展現在客戶面前的頁面還是不會消失的,這樣對於客戶的互動性特別好。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.