欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Ajax簡(jiǎn)介
Ajax簡(jiǎn)介

時(shí)間:2005-11-01
作者:David Teare
瀏覽次數: 132263
本文關(guān)鍵字:ajaxdhtmldwr javascript
文章工具
 推薦給朋友
 打印文章

  作為J2EE開(kāi)發(fā)人員,我們似乎經(jīng)常關(guān)注“后端機制(backend mechanics)”。我們通常會(huì )忘記,J2EE的主要成功之處在Web應用程序方面;許多原因使得人們喜歡利用Web開(kāi)發(fā)應用程序,但主要還是因為其易于部署的特點(diǎn)允許站點(diǎn)以盡可能低的成本擁有上百萬(wàn)的用戶(hù)。遺憾的是,在過(guò)去幾年中,我們在后端投入了太多的時(shí)間,而在使我們的Web用戶(hù)界面對用戶(hù)自然和響應靈敏方面卻投入不足。

  本文介紹一種方法,Ajax,使用它可以構建更為動(dòng)態(tài)和響應更靈敏的Web應用程序。該方法的關(guān)鍵在于對瀏覽器端的JavaScript、DHTML和與服務(wù)器異步通信的組合。本文也演示了啟用這種方法是多么簡(jiǎn)單:利用一個(gè)Ajax框架(指DWR)構造一個(gè)應用程序,它直接從瀏覽器與后端服務(wù)進(jìn)行通信。如果使用得當,這種強大的力量可以使應用程序更加自然和響應靈敏,從而提升用戶(hù)的瀏覽體驗。

  該應用程序中所使用的示例代碼已打包為單獨的WAR文件,可供下載。

簡(jiǎn)介

  術(shù)語(yǔ)Ajax用來(lái)描述一組技術(shù),它使瀏覽器可以為用戶(hù)提供更為自然的瀏覽體驗。在A(yíng)jax之前,Web站點(diǎn)強制用戶(hù)進(jìn)入提交/等待/重新顯示范例,用戶(hù)的動(dòng)作總是與服務(wù)器的“思考時(shí)間”同步。Ajax提供與服務(wù)器異步通信的能力,從而使用戶(hù)從請求/響應的循環(huán)中解脫出來(lái)。借助于A(yíng)jax,可以在用戶(hù)單擊按鈕時(shí),使用JavaScript和DHTML立即更新UI,并向服務(wù)器發(fā)出異步請求,以執行更新或查詢(xún)數據庫。當請求返回時(shí),就可以使用JavaScript和CSS來(lái)相應地更新UI,而不是刷新整個(gè)頁(yè)面。最重要的是,用戶(hù)甚至不知道瀏覽器正在與服務(wù)器通信:Web站點(diǎn)看起來(lái)是即時(shí)響應的。

  雖然Ajax所需的基礎架構已經(jīng)出現了一段時(shí)間,但直到最近異步請求的真正威力才得到利用。能夠擁有一個(gè)響應極其靈敏的Web站點(diǎn)確實(shí)激動(dòng)人心,因為它最終允許開(kāi)發(fā)人員和設計人員使用標準的HTML/CSS/JavaScript堆棧創(chuàng )建“桌面風(fēng)格的(desktop-like)”可用性。

  通常,在J2EE中,開(kāi)發(fā)人員過(guò)于關(guān)注服務(wù)和持久性層的開(kāi)發(fā),以至于用戶(hù)界面的可用性已經(jīng)落后。在一個(gè)典型的J2EE開(kāi)發(fā)周期中,常常會(huì )聽(tīng)到這樣的話(huà),“我們沒(méi)有可投入UI的時(shí)間”或“不能用HTML實(shí)現”。但是,以下Web站點(diǎn)證明,這些理由再也站不住腳了:

  所有這些Web站點(diǎn)都告訴我們,Web應用程序不必完全依賴(lài)于從服務(wù)器重新載入頁(yè)面來(lái)向用戶(hù)呈現更改。一切似乎就在瞬間發(fā)生。簡(jiǎn)而言之,在涉及到用戶(hù)界面的響應靈敏度時(shí),基準設得更高了。

定義Ajax

  Adaptive Path公司的Jesse James Garrett這樣定義Ajax

  Ajax不是一種技術(shù)。實(shí)際上,它由幾種蓬勃發(fā)展的技術(shù)以新的強大方式組合而成。Ajax包含:

  • 基于XHTMLCSS標準的表示;
  • 使用Document Object Model進(jìn)行動(dòng)態(tài)顯示和交互;
  • 使用XMLHttpRequest與服務(wù)器進(jìn)行異步通信;
  • 使用JavaScript綁定一切。

  這非常好,但為什么要以Ajax命名呢?其實(shí)術(shù)語(yǔ)Ajax是由Jesse James Garrett創(chuàng )造的,他說(shuō)它是“Asynchronous JavaScript + XML的簡(jiǎn)寫(xiě)”。

Ajax的工作原理

  Ajax的核心是JavaScript對象XmlHttpRequest。該對象在Internet Explorer 5中首次引入,它是一種支持異步請求的技術(shù)。簡(jiǎn)而言之,XmlHttpRequest使您可以使用JavaScript向服務(wù)器提出請求并處理響應,而不阻塞用戶(hù)。

  在創(chuàng )建Web站點(diǎn)時(shí),在客戶(hù)端執行屏幕更新為用戶(hù)提供了很大的靈活性。下面是使用Ajax可以完成的功能:

  • 動(dòng)態(tài)更新購物車(chē)的物品總數,無(wú)需用戶(hù)單擊Update并等待服務(wù)器重新發(fā)送整個(gè)頁(yè)面。
  • 提升站點(diǎn)的性能,這是通過(guò)減少從服務(wù)器下載的數據量而實(shí)現的。例如,在A(yíng)mazon的購物車(chē)頁(yè)面,當更新籃子中的一項物品的數量時(shí),會(huì )重新載入整個(gè)頁(yè)面,這必須下載32K的數據。如果使用Ajax計算新的總量,服務(wù)器只會(huì )返回新的總量值,因此所需的帶寬僅為原來(lái)的百分之一。
  • 消除了每次用戶(hù)輸入時(shí)的頁(yè)面刷新。例如,在A(yíng)jax中,如果用戶(hù)在分頁(yè)列表上單擊Next,則服務(wù)器數據只刷新列表而不是整個(gè)頁(yè)面。
  • 直接編輯表格數據,而不是要求用戶(hù)導航到新的頁(yè)面來(lái)編輯數據。對于A(yíng)jax,當用戶(hù)單擊Edit時(shí),可以將靜態(tài)表格刷新為內容可編輯的表格。用戶(hù)單擊Done之后,就可以發(fā)出一個(gè)Ajax請求來(lái)更新服務(wù)器,并刷新表格,使其包含靜態(tài)、只讀的數據。

  一切皆有可能!但愿它能夠激發(fā)您開(kāi)始開(kāi)發(fā)自己的基于A(yíng)jax的站點(diǎn)。然而,在開(kāi)始之前,讓我們介紹一個(gè)現有的Web站點(diǎn),它遵循傳統的提交/等待/重新顯示的范例,我們還將討論Ajax如何提升用戶(hù)體驗。

Ajax可用于那些場(chǎng)景?——一個(gè)例子:MSN Money頁(yè)面

  前幾天,在瀏覽MSN Money頁(yè)面的時(shí)候,有一篇關(guān)于房地產(chǎn)投資的文章引起了我的好奇心。我決定使用站點(diǎn)的“Rate this article”(評價(jià)本文)功能,鼓勵其他的用戶(hù)花一點(diǎn)時(shí)間來(lái)閱讀這篇文章。在我單擊vote按鈕并等待了一會(huì )兒之后,整個(gè)頁(yè)面被刷新,在原來(lái)投票問(wèn)題所在的地方出現了一個(gè)漂亮的感謝畫(huà)面。

  而Ajax能夠使用戶(hù)的體驗更加愉快,它可以提供響應更加靈敏的UI,并消除頁(yè)面刷新所帶來(lái)的閃爍。目前,由于要刷新整個(gè)頁(yè)面,需要傳送大量的數據,因為必須重新發(fā)送整個(gè)頁(yè)面。如果使用Ajax,服務(wù)器可以返回一個(gè)包含了感謝信息的500字節的消息,而不是發(fā)送26,813字節的消息來(lái)刷新整個(gè)頁(yè)面。即使使用的是高速I(mǎi)nternet,傳送26K和1/2K的差別也非常大。同樣重要的是,只需要刷新與投票相關(guān)的一小節,而不是刷新整個(gè)屏幕。

  讓我們利用Ajax實(shí)現自己的基本投票系統。

原始的Ajax:直接使用XmlHttpRequest

  如上所述,Ajax的核心是JavaScript對象XmlHttpRequest。下面的示例文章評價(jià)系統將帶您熟悉Ajax的底層基本知識:http://tearesolutions.com/ajax-demo/raw-ajax.html。注:如果您已經(jīng)在本地WebLogic容器中安裝了ajax-demo.war,可以導航到http://localhost:7001/ajax-demo/raw-ajax.html,

  瀏覽應用程序,參與投票,并親眼看它如何運轉。熟悉了該應用程序之后,繼續閱讀,進(jìn)一步了解其工作原理細節。

  首先,您擁有一些簡(jiǎn)單的定位點(diǎn)標記,它連接到一個(gè)JavaScriptcastVote(rank)函數。
function castVote(rank) {var url = "/ajax-demo/static-article-ranking.html";var callback = processAjaxResponse;executeXhr(callback, url);}

  該函數為您想要與之通信的服務(wù)器資源創(chuàng )建一個(gè)URL并調用內部函數executeXhr,提供一個(gè)回調JavaScript函數,一旦服務(wù)器響應可用,該函數就被執行。由于我希望它運行在一個(gè)簡(jiǎn)單的Apache環(huán)境中,“cast vote URL”只是一個(gè)簡(jiǎn)單的HTML頁(yè)面。在實(shí)際情況中,被調用的URL將記錄票數并動(dòng)態(tài)地呈現包含投票總數的響應。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Ajax原理過(guò)程同步與異步區別優(yōu)缺點(diǎn)
15.1 什么是Ajax - 《SVG開(kāi)發(fā)實(shí)踐》 - 免費試讀 - book.csdn.net
面向Java開(kāi)發(fā)人員的Ajax技術(shù)
AJAX筆記
Ajax 基礎知識
AJAX工作原理及其優(yōu)缺點(diǎn)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久