出版時間:2008-11 出版社:人民郵電出版社 作者:(英)格雷恩 等 著 賀師 頁數(shù):382
Tag標(biāo)簽:無
前言
Web始終都是催生創(chuàng)新的溫床,在它不長的歷史里,以某項創(chuàng)造為基礎(chǔ)進(jìn)行重造和重用,以致在某些方面遠(yuǎn)遠(yuǎn)超出原始發(fā)明者意圖的例子比比皆是。例如,CGI取代了一種基于網(wǎng)絡(luò)的文檔檢索協(xié)議,同時又提供了從后臺數(shù)據(jù)庫中取得數(shù)據(jù)并(根據(jù)實時請求)動態(tài)生成文檔的能力;HTTP首部被用來在無狀態(tài)協(xié)議之上提供持續(xù)的用戶會話,這使預(yù)訂系統(tǒng)和電子商務(wù)等有狀態(tài)應(yīng)用成為可能;在核心協(xié)議上創(chuàng)建的加密層,給那些網(wǎng)上商店的顧客和業(yè)務(wù)應(yīng)用的用戶以信心?! ∵@些突破性的技術(shù)永久地改變了人們使用Web的方式。時至今日,諸如服務(wù)器端頁面、用戶會話以及SSL等技術(shù)只是構(gòu)建web應(yīng)用的日常構(gòu)件,并成為所有Web7F發(fā)人員工具箱里的必備,以至于我們認(rèn)為這是理所當(dāng)然的。然而,Web創(chuàng)新的步伐仍然沒有停止,幾乎每周都會有新的’Web框架出現(xiàn)?! jax是近年來web開發(fā)領(lǐng)域最大的突破性技術(shù)之一。先前的所有創(chuàng)新對Web用戶界面(點擊、發(fā)送請求、響應(yīng)、重繪頁面)的基本模式?jīng)]有多大影響,直到XMI_,HttpRequest(XHR)對象1999年悄然出現(xiàn)在IE 5中時,這一狀況才結(jié)束。該對象的使用最初是為了增強Outlook Web Access客戶端程序,并未引起太大的關(guān)注?! ?005年,當(dāng)Google舉起AiaX的旗幟開發(fā)郵件(Gmail)、地圖和Suggest等應(yīng)用時,人們才開始猛然醒悟,關(guān)注起A1ax來。來自Adaptive Path公司的Jesse James Garrett提出了“Aiax”這一術(shù)語,樹起一面大旗,人們云集旗下討論Ajax究竟是什么,可以用它做什么。 Aiax好像只是在等待一個名字,一旦有了,一系列令人興奮的活動接踵而至,而人們也開始研究Ajax的技術(shù)本質(zhì)。Ajax引入了一種創(chuàng)建Web應(yīng)用的全新的方式。盡管這也導(dǎo)致有許多新的問題亟待解決,但隨著web開發(fā)社區(qū)不斷突破新的極限,過去兩年爆發(fā)了新一輪創(chuàng)新熱潮?! ⊙刂@種發(fā)展路線,Aiax的基礎(chǔ)(例如XML HttpRequest對象)將重復(fù)服務(wù)器端頁面、用戶會話以及SSL的道路。處于集體無意識的web開發(fā)社區(qū)猶如神助,一下子明白了Ajax技術(shù)的根本,并轉(zhuǎn)向如何解決使用中產(chǎn)生的更廣泛的問題?! 榻鉀Q這些問題,我們決定撰寫本書。我們希望本書能幫助熟練的和不那么熟練的WebTF發(fā)者完全掌握Ajax技術(shù)并成功創(chuàng)建其自己的Ajax應(yīng)用。它可以看作是第二代Ajax圖書:第一代Ajax圖書介紹Ajax是什么,而第二代Ajax圖書介紹可以用它做什么以及如何做?! ”緯鴱腗anning,出版社聯(lián)系Steve:Benfield并希望他成為第二代Ajax圖書的主編開始啟動,可以看作是Dave Crane所著暢銷書《Ajax實戰(zhàn)》的后續(xù)之作。后來,Steve因故不再擔(dān)任主編,于是Jord Sonneveld、Bear Bibeault和Dave Crane攜手為你奉獻(xiàn)了本書。
內(nèi)容概要
《Ajax實戰(zhàn)實例詳解》堪稱Ajax 領(lǐng)域內(nèi)的典范之作,深受讀者好評。它以Ajax 的簡要介紹開篇,然后以知識點為脈絡(luò), 講述了幾十個易于使用的、以解決方案為重點的實例,并針對每一個實例給出了詳細(xì)的范例代碼,可操作性極強。通過《Ajax實戰(zhàn)實例詳解》,讀者可以學(xué)會如何實現(xiàn)富客戶端用戶界面,包括拖拽、實踐性策略、有效導(dǎo)航、事件處理、表單項目驗證、狀態(tài)管理、Ajax 庫的選擇、訪問第三方的開放網(wǎng)絡(luò)服務(wù)接口,等等。最后,《Ajax實戰(zhàn)實例詳解》以一個妙趣橫生且極其實用的mashup 實例結(jié)尾。 《Ajax實戰(zhàn)實例詳解》適合所有的現(xiàn)代Web 開發(fā)人員。
作者簡介
Dave Carane是著名的Ajax權(quán)威,領(lǐng)銜撰寫了《Ajax實戰(zhàn)》三部曲。
書籍目錄
第一部分 Ajax基礎(chǔ)第1章 擁抱Ajax1.1 Ajax,一種顛覆性的技術(shù)1.1.1 重新定義用戶的工作流程1.1.2 重新定義Web應(yīng)用的架構(gòu)1.2 Ajax快速入門1.2.1 XMLHttpRequest簡介1.2.2 實例化XMLHttpRequest1.2.3 發(fā)送請求1.2.4 處理響應(yīng)1.2.5 XMLHttpRequest的其他方法和屬性1.3 使用框架簡化Ajax1.3.1 用Prototype庫中的Ajax.Request對象創(chuàng)建請求1.3.2 簡化Ajax響應(yīng)1.4 總結(jié)第2章 Ajax的通信方式2.1 在服務(wù)器端生成JavaScript2.1.1 執(zhí)行由服務(wù)器生成的代碼2.1.2 遵循代碼生成的實踐準(zhǔn)則2.2 JSON簡介2.2.1 在服務(wù)器上生成JSON2.2.2 使用JSON往返傳輸數(shù)據(jù)2.3 在Ajax中使用XML和XSLT2.3.1 解析服務(wù)器生成的XML2.3.2 用XSLT和XPath來更好地處理XML2.4 在Web服務(wù)中使用Ajax2.5 總結(jié)第3章 面向?qū)ο蟮腏avaScript與Prototype庫3.1 面向?qū)ο蟮腏avaScript3.1.1 對象的基本原理3.1.2 函數(shù)是一等公民3.1.3 對象構(gòu)造器和方法3.1.4 編寫JavaScript類:一個按鈕3.2 Prototype程序庫3.2.1 常用的函數(shù)和擴展3.2.2 對數(shù)組的擴展3.2.3 Hash類3.2.4 給函數(shù)綁定上下文對象3.2.5 面向?qū)ο蟮腜rototype3.2.6 用Prototype重寫B(tài)utton類3.3 總結(jié)第4章 Ajax開源工具集4.1 Dojo工具包4.1.1 用Dojo進(jìn)行異步請求4.1.2 用Dojo自動對表單進(jìn)行編組4.2 Prototype4.2.1 Prototype中的異步請求4.2.2 用Prototype進(jìn)行自動更新4.2.3 用Prototype進(jìn)行定期更新4.3 jQuery4.3.1 jQuery基礎(chǔ)4.3.2 用jQuery進(jìn)行異步加載4.3.3 用jQuery獲取動態(tài)數(shù)據(jù)4.4 DWR4.5 總結(jié)第二部分 Ajax最佳實踐第5章 事件處理5.1 事件處理模型5.1.1 基本的事件處理注冊5.1.2 高級事件處理5.2 Event對象與事件傳播機制5.2.1 Event對象5.2.2 事件的傳播5.3 使用Prototype進(jìn)行事件處理5.4 事件類型5.4.1 鼠標(biāo)事件5.4.2 鍵盤事件5.4.3 change事件5.4.4 頁面事件5.5 事件處理實踐5.5.1 在服務(wù)端驗證文本字段5.5.2 無需頁面重新加載的表單元素提交方式5.5.3 只提交發(fā)生改變的元素5.6 總結(jié)第6章 表單驗證與提交6.1 客戶端表單驗證6.1.1 在客戶端進(jìn)行驗證6.1.2 即時驗證6.1.3 跨字段驗證6.2 投遞數(shù)據(jù)6.2.1 POST請求剖析6.2.2 將數(shù)據(jù)投遞到服務(wù)器6.2.3 將表單數(shù)據(jù)投遞到服務(wù)器6.2.4 檢測表單數(shù)據(jù)變化6.3 總結(jié)第7章 內(nèi)容導(dǎo)航7.1 網(wǎng)站導(dǎo)航原理7.1.1 大海撈“針”7.1.2 創(chuàng)造更好的“針”探7.1.3 導(dǎo)航和Ajax7.2 傳統(tǒng)的Web導(dǎo)航7.2.1 一個簡單的導(dǎo)航菜單7.2.2 DHTML菜單7.3 借鑒桌面應(yīng)用的導(dǎo)航設(shè)施7.3.1 使用qooxdoo庫實現(xiàn)Tab組件7.3.2 qooxdoo工具欄和窗口7.3.3 qooxdoo樹組件7.4 桌面應(yīng)用和Web應(yīng)用的折中7.4.1 OpenRico庫的Accordion控件7.4.2 創(chuàng)建HTML友好的樹控件7.5 總結(jié)第8章 處理后退、刷新和撤銷8.1 禁止用戶訪問瀏覽器的導(dǎo)航控件8.1.1 移除瀏覽器導(dǎo)航工具欄8.1.2 捕捉快捷鍵8.1.3 禁止右鍵彈出上下文菜單8.1.4 阻止用戶導(dǎo)航歷史記錄或刷新頁面8.2 與瀏覽器導(dǎo)航控件協(xié)作8.2.1 使用JavaScript內(nèi)建的history對象8.2.2 使用Hash對象實現(xiàn)書簽8.2.3 RSH框架介紹8.2.4 使用RSH框架維護(hù)客戶端狀態(tài)8.2.5 使用RSH在服務(wù)端維護(hù)應(yīng)用程序狀態(tài)8.3 處理撤銷操作8.3.1 何時提供可撤銷功能8.3.2 實現(xiàn)一個可撤銷/恢復(fù)操作棧8.3.3 擴展撤銷棧以支持更復(fù)雜的用戶操作8.4 總結(jié)第9章 拖放9.1 支持拖放的JavaScript框架9.2 Ajax應(yīng)用中的拖放9.2.1 支持拖放的Ajax購物車示例9.2.2 拖放列表中的數(shù)據(jù)操縱9.2.3 使用ICEfaces創(chuàng)建Ajax購物車9.3 總結(jié)第10章 對用戶友好一點10.1 與延遲作斗爭10.1.1 以反饋來應(yīng)對等待10.1.2 顯示進(jìn)度10.1.3 Ajax請求超時10.1.4 處理多次點擊10.2 預(yù)防和檢測輸入錯誤10.2.1 主動顯示上下文幫助10.2.2 對表單輸入項進(jìn)行有效性驗證10.3 維護(hù)焦點和分層順序10.3.1 維護(hù)焦點順序10.3.2 管理堆疊順序10.4 總結(jié)第11章 狀態(tài)管理和緩存11.1 客戶端狀態(tài)的維持11.2 服務(wù)器數(shù)據(jù)緩存11.2.1 Java類的數(shù)據(jù)的交換11.2.2 預(yù)取11.3 客戶端狀態(tài)的持久化11.3.1 以JSON形式存儲和取回用戶狀態(tài)11.3.2 通過AMASS保存JSON字符串11.4 總結(jié)第12章 開放式WebAPI和Ajax12.1 Yahoo!開發(fā)者網(wǎng)絡(luò)12.1.1 Yahoo!地圖12.1.2 跨服務(wù)器代理12.1.3 Yahoo!MapsGeocoding12.1.4 Yahoo!交通12.2 Google搜索API12.3 Flickr圖片分享12.3.1 Flickr用戶內(nèi)部標(biāo)識12.3.2 Flickr圖片和縮略圖12.4 稍等!據(jù)說,還有很多……12.4.1 Amazon服務(wù)12.4.2 eBay服務(wù)12.4.3 MapQuest12.4.4 NOAA/國家氣象服務(wù)12.4.5 更多Web服務(wù)接口12.5 總結(jié)第13章 使用Ajax進(jìn)行混搭13.1 Trip-o-matic應(yīng)用簡介13.1.1 應(yīng)用的目的13.1.2 應(yīng)用概覽和需求13.2 Trip-o-matic的數(shù)據(jù)文件13.2.1 我們應(yīng)該采用什么格式13.2.2 旅行數(shù)據(jù)格式13.2.3 設(shè)置Flickr照片集13.3 TripomaticDigester類13.3.1 依賴性檢查13.3.2 TripomaticDigester的構(gòu)造器13.3.3 解讀旅行數(shù)據(jù)13.3.4 加載經(jīng)典信息13.3.5 收集元素的文本內(nèi)容13.4 Tripomatic應(yīng)用類13.4.1 Tripomatic類和構(gòu)造器13.4.2 創(chuàng)建內(nèi)容元素13.4.3 填充旅行數(shù)據(jù)13.4.4 顯示地圖13.4.5 加載縮略圖13.4.6 顯示照片13.5 Trip-o-matic應(yīng)用頁面13.5.1 Trip-o-matic的HTML文檔13.5.2 樣式之旅13.6 總結(jié)
章節(jié)摘錄
第一部分 Ajax基礎(chǔ) 本書將帶領(lǐng)你進(jìn)入Ajax網(wǎng)絡(luò)應(yīng)用的新世界。全書特別注重實例,提供了大量可重用的實用示例,所展示的技巧極富實踐性,可直接運用于你自己的應(yīng)用中。為了準(zhǔn)備好這次令人興奮的旅程,整個第一部分會作為其后第二部分各個章節(jié)的一個強化預(yù)備課程。 第1章論述了Ajax與那些以往慣用的技術(shù)的不同之處,并由此展望了全書內(nèi)容。我們首先討論了如何用Ajax支持瀏覽器,以及如何在JavaScript代碼里處理異步響應(yīng)。我們也會看一看Prototype,作為一個非常流行的JavaScript程序庫,在整本書中你會一次又一次地看到它的身影?! 〉?章研究了Ajax請求所能產(chǎn)生的各種響應(yīng)格式,包括:純文本、HTML、JSON(JavaScript Object Notation,JavaScript對象記法)、XML,乃至SOAP文檔?! 〉?章深入探討了每個嚴(yán)肅的Ajax開發(fā)者都需要吃透的高級JavaScript技巧。我們研究了JavaScript的對象和函數(shù),解釋了如何使用它們來創(chuàng)建自己的JavaScript類:,從而利用面向?qū)ο蠹夹g(shù)對Ajax所需的不斷增長的客戶端代碼規(guī)模進(jìn)行控制。你會明白JavaScript的函數(shù)是一個比你想象的更為豐富多樣的概念?! 〉?章縱覽了各種提供A;ax編程支持的JavaScript庫。我們更為深入地考察了元老級選手Prototype庫,還考察了全能選手Doj0工具包,以及jQuery——這個Ajax競技場上初來乍到卻令人興奮的選手。本章最后介紹了DWR,它借助Ajax提供了類似RPC(Remote Procedure Calling,遠(yuǎn)程過程調(diào)用)的能力,實質(zhì)上就是將Ajax作為一種傳輸機制來加以利用。
媒體關(guān)注與評論
“通過本書中的示例,我掌握了大量關(guān)于Ajax的核心技巧和高級Javascript技術(shù)。絕對必讀的Ajax著作!” --Javaranch.com “我太喜歡這本書了,具體、實用,可以立刻付諸實踐我強烈推薦!” --Amazon.com
編輯推薦
《Ajax實戰(zhàn)實例詳解》是Aiax大師Dave Crane繼巨著《Ajax實戰(zhàn)》之后,與數(shù)位頂尖高手聯(lián)袂推出的又一部Ajax力作?!禔jax實戰(zhàn)實例詳解》中直指Ajax/JavaScript應(yīng)用程序開發(fā)中急需解決的各種具體問題,通過大量經(jīng)典的可重用代碼。 七位世界級Web專家巨獻(xiàn)、引領(lǐng)你進(jìn)入Ajax 2.0時代、大量Ajax/JavaScript核心技巧和最佳實踐?! jax賦予了web程序員開創(chuàng)未來的潛力。但是,Ajax應(yīng)用程序的復(fù)雜性和開發(fā)難度也大大增加——如此空前的挑戰(zhàn),我們應(yīng)該如何應(yīng)對?
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載