-
ajax
(Web數據交互方式)
鎖定
Ajax即Asynchronous Javascript And XML(異步JavaScript和XML)在 2005年被Jesse James Garrett提出的新術語,用來描述一種使用現有技術集合的‘新’方法,包括: HTML 或 XHTML, CSS, JavaScript, DOM, XML, XSLT, 以及最重要的XMLHttpRequest。
[3]
使用Ajax技術網頁應用能夠快速地將增量更新呈現在用户界面上,而不需要重載(刷新)整個頁面,這使得程序能夠更快地迴應用户的操作。
[3]
- 中文名
- 異步JavaScript和XML
- 外文名
- Asynchronous JavaScript And XML
- 所屬學科
- 計算機科學
- 應 用
- WEB數據交互
ajax來源
使用 JavaScript 向服務器提出請求並處理響應而不阻塞用户核心對象XMLHttpRequest。通過這個對象,您的 JavaScript 可在不重載頁面的情況與 Web 服務器交換數據,即在不需要刷新頁面的情況下,就可以產生局部刷新的效果。
Ajax 在瀏覽器與 Web 服務器之間使用異步數據傳輸(HTTP 請求),這樣就可使網頁從服務器請求少量的信息,而不是整個頁面。
Ajax可使因特網應用程序更小、更快,更友好。
Ajax 是一種獨立於 Web 服務器軟件的瀏覽器技術。 Ajax 基於下列 Web 標準:
JavaScript、XML、HTML與 CSS 在 Ajax 中使用的 Web 標準已被良好定義,並被所有的主流瀏覽器支持。Ajax 應用程序獨立於瀏覽器和平台。
Web 應用程序較桌面應用程序有諸多優勢;它們能夠涉及廣大的用户,它們更易安裝及維護,也更易開發。
ajax應用
該技術在 1998 年前後得到了應用。允許客户端腳本發送HTTP請求(XMLHTTP)的第一個組件由Outlook Web Access小組寫成。該組件原屬於微軟 Exchange Server,並且迅速地成為了 Internet Explorer 4.0 的一部分。部分觀察家認為,Outlook Web Access 是第一個應用了 Ajax 技術的成功的商業應用程序,併成為包括Oddpost 的網絡郵件產品在內的許多產品的領頭羊。但是,2005 年初,許多事件使得 Ajax 被大眾所接受。Google 在它著名的交互應用程序中使用了異步通訊,如Google、Google 地圖、Google 搜索建議、Gmail等。Ajax 這個詞由《Ajax: A New Approach to Web Applications》一文所創,該文的迅速傳播加強了人們使用該項技術的意識。另外,對Mozilla/Gecko 的支持使得該技術走向成熟,變得更為易用。
Ajax 前景非常樂觀,可以提高系統性能,優化用户界面。Ajax 現有直接框架 AjaxPro,可以引入 AjaxPro.2.dll 文件,可以直接在前台頁面 JavaScript 調用後台頁面的方法。但此框架與表單驗證有衝突。另外微軟也引入了 Ajax 組件,需要添加 AjaxControlToolkit.dll 文件,可以在控件列表中出現相關控件。
[1]
ajax發展
許多重要的技術和 Ajax 開發模式可以從現有的知識中獲取。例如,在一個發送請求到服務端的應用中,必須包含請求順序、優先級、超時響應、錯誤處理及回調,其中許多元素已經在Web 服務中包含了。同時,隨着技術的成熟還會有許多地方需要改進,特別是UI部分的易用性。
Ajax 開發與傳統的 B/S開發有很大的不同。這些不同引入了新的編程問題,最大的問題在於易用性。由於 Ajax 依賴瀏覽器的 JavaScript 和XML,瀏覽器的兼容性和支持的標準也變得和 JavaScript 的運行時性能一樣重要了。這些問題中的大部分來源於瀏覽器、服務器和技術的組合,因此必須理解如何才能最好的使用這些技術。
綜合各種變化的技術和強耦合的客户服務端環境,Ajax 提出了一種新的開發方式。Ajax 開發人員必須理解傳統的 MVC 架構,這限制了應用層次之間的邊界。同時,開發人員還需要考慮 B/S 環境的外部和使用 Ajax 技術來重定型 MVC 邊界。最重要的是,Ajax 開發人員必須禁止以頁面集合的方式來考慮 Web 應用而需要將其認為是單個頁面。一旦 UI 設計與服務架構之間的範圍被嚴格區分開來後,開發人員就需要更新和變化的技術集合了。
[1]
ajax特點
使用Ajax的最大優點,就是能在不更新整個頁面的前提下維護數據。這使得Web應用程序更為迅捷地迴應用户動作,並避免了在網絡上發送那些沒有改變的信息。
Ajax不需要任何瀏覽器插件,但需要用户允許JavaScript在瀏覽器上執行。就像DHTML應用程序那樣,Ajax應用程序必須在眾多不同的瀏覽器和平台上經過嚴格的測試。隨着Ajax的成熟,一些簡化Ajax使用方法的程序庫也相繼問世。同樣,也出現了另一種輔助程序設計的技術,為那些不支持JavaScript的用户提供替代功能。
對應用Ajax最主要的批評就是,它可能破壞瀏覽器的後退與加入收藏書籤功能。在動態更新頁面的情況下,用户無法回到前一個頁面狀態,這是因為瀏覽器僅能記下歷史記錄中的靜態頁面。一個被完整讀入的頁面與一個已經被動態修改過的頁面之間的可能差別非常微妙;用户通常都希望單擊後退按鈕,就能夠取消他們的前一次操作,但是在Ajax應用程序中,卻無法這樣做。不過開發者已想出了種種辦法來解決這個問題,HTML5之前的方法大多是在用户單擊後退按鈕訪問歷史記錄時,通過創建或使用一個隱藏的IFRAME來重現頁面上的變更。(例如,當用户在Google Maps中單擊後退時,它在一個隱藏的IFRAME中進行搜索,然後將搜索結果反映到Ajax元素上,以便將應用程序狀態恢復到當時的狀態)。
關於無法將狀態加入收藏或書籤的問題,HTML5之前的一種方式是使用URL片斷標識符(通常被稱為錨點,即URL中#後面的部分)來保持追蹤,允許用户回到指定的某個應用程序狀態。(許多瀏覽器允許JavaScript動態更新錨點,這使得Ajax應用程序能夠在更新顯示內容的同時更新錨點。)HTML5以後可以直接操作瀏覽歷史,並以字符串形式存儲網頁狀態,將網頁加入網頁收藏夾或書籤時狀態會被隱形地保留。上述兩個方法也可以同時解決無法後退的問題。
進行Ajax開發時,網絡延遲——即用户發出請求到服務器發出響應之間的間隔——需要慎重考慮。如果不給予用户明確的迴應,沒有恰當的預讀數據,或者對XMLHttpRequest的不恰當處理,都會使用户感到厭煩。通常的解決方案是,使用一個可視化的組件來告訴用户系統正在進行後台操作並且正在讀取數據和內容。
[2]
- 參考資料
-
- 1. Ullman, Chris (March 2007). Beginning Ajax. wrox. ISBN 978-0-470-10675-4. Archived from the original on 5 July 2008. Retrieved 24 June 2008.
- 2. "Article on the history of XMLHTTP by an original developer". Alexhopmann.com. 31 January 2007. Archived from the original on 23 June 2007. Retrieved 14 July 2009.
- 3. Ajax - Web 開發者指南 | MDN .Mozilla官方.2020-01-05[引用日期2021-04-03]
- 4. ajax異步獲取表單全部數據,Ajax異步提交表單數據的説明及方法實例 .CSDN[引用日期2022-07-24]