Ajax實戰:實例詳解

Ajax實戰:實例詳解

本書堪稱Ajax領域內的典範之作,深受讀者好評。它以Ajax 的簡要介紹開篇,然後以知識點為脈絡, 講述了幾十個易於使用的、以解決方案為重點的實例,並針對每一個實例給出了詳細的範例代碼,可操作性極強。通過本書,讀者可以學會如何實現富客戶端用戶界面,包括拖拽、實踐性策略、有效導航、事件處理、表單項目驗證、狀態管理、Ajax 庫的選擇、訪問第三方的開放網路服務接口,等等。最後,本書以一個妙趣橫生且極其實用的mashup 實例結尾。

本書適合所有的現代Web 開發人員。

基本介紹

  • 書名:Ajax實戰:實例詳解
  • 又名: Ajax in Practice
  • 作者: Dave Crane, Jord Sonneveld,
  • 譯者: 賀師俊 許超 金擘 
  • 頁數: 400
  • 出版社:Manning Publications
  • 出版時間: 2008-10-14
  • 裝幀:平裝
  • 開本: 16開
譯者簡介,媒體評論,目錄,

譯者簡介

賀師俊,資深Web開發專家,對HTML、JavaScript以及Web標準有非常深刻的認識,翻譯並審校了《Ajax實戰:實例詳解》一書。他在JavaEye等技術社區非常活躍,是網友公認的專家級人物。

媒體評論

“通過本書中的示例,我掌握了大量關於Ajax的核心技巧和高級JavaScript技術,絕對必讀的Ajax著作!”.
——Javaranch
“我太喜歡這本書了。具體、實用,可以立刻付諸實踐。我強烈推薦!”
——Amazon

目錄

第一部分 Ajax基礎
第1章 擁抱Ajax 2
1.1 Ajax,一種顛覆性的技術 3
1.1.1 重新定義用戶的工作流程 3
1.1.2 重新定義Web套用的架構 4
1.2 Ajax快速入門 6
1.2.1 XMLHttpRequest簡介 6
1.2.2 實例化XMLHttpRequest 7
1.2.3 傳送請求 8
1.2.4 處理回響 9
1.2.5 XMLHttpRequest的其他方法和屬性 10
1.3 使用框架簡化Ajax 11
1.3.1 用Prototype庫中的Ajax.Request對象創建請求 12
1.3.2 簡化Ajax回響 15
1.4 總結 18
第2章 Ajax的通信方式 19
2.1 在伺服器端生成JavaScript 19
2.1.1 執行由伺服器生成的代碼 19
2.1.2 遵循代碼生成的實踐準則 21
2.2 JSON簡介 25
2.2.1 在伺服器上生成JSON 26
2.2.2 使用JSON往返傳輸數據 29
2.3 在Ajax中使用XML和XSLT 33
2.3.1 解析伺服器生成的XML 34
2.3.2 用XSLT和XPath來更好地處理XML 38
2.4 在Web服務中使用Ajax 43
2.5 總結 49
第3章 面向對象的JavaScript與Prototype庫 50
3.1 面向對象的JavaScript 51
3.1.1 對象的基本原理 51
3.1.2 函式是一等公民 53
3.1.3 對象構造器和方法 58
3.1.4 編寫JavaScript類:一個按鈕 63
3.2 Prototype程式庫 74
3.2.1 常用的函式和擴展 75
3.2.2 對數組的擴展 76
3.2.3 Hash類 78
3.2.4 給函式綁定上下文對象 79
3.2.5 面向對象的Prototype 80
3.2.6 用Prototype重寫Button類 86
3.3 總結 89
第4章 Ajax開源工具集 90
4.1 Dojo工具包 90
4.1.1 用Dojo進行異步請求 91
4.1.2 用Dojo自動對表單進行編組 94
4.2 Prototype 96
4.2.1 Prototype中的異步請求 96
4.2.2 用Prototype進行自動更新 100
4.2.3 用Prototype進行定期更新 102
4.3 jQuery 104
4.3.1 jQuery基礎 104
4.3.2 用jQuery進行異步載入 106
4.3.3 用jQuery獲取動態數據 110
4.4 DWR 113
4.5 總結 120
第二部分 Ajax最佳實踐
第5章 事件處理 124
5.1 事件處理模型 125
5.1.1 基本的事件處理註冊 125
5.1.2 高級事件處理 128
5.2 Event對象與事件傳播機制 130
5.2.1 Event對象 130
5.2.2 事件的傳播 131
5.3 使用Prototype進行事件處理 135
5.4 事件類型 137
5.4.1 滑鼠事件 137
5.4.2 鍵盤事件 138
5.4.3 change事件 141
5.4.4 頁面事件 142
5.5 事件處理實踐 144
5.5.1 在服務端驗證文本欄位 144
5.5.2 無需頁面重新載入的表單元素提交方式 148
5.5.3 只提交發生改變的元素 151
5.6 總結 153
第6章 表單驗證與提交 154
6.1 客戶端表單驗證 154
6.1.1 在客戶端進行驗證 154
6.1.2 即時驗證 159
6.1.3 跨欄位驗證 160
6.2 投遞數據 166
6.2.1 POST請求剖析 167
6.2.2 將數據投遞到伺服器 168
6.2.3 將表單數據投遞到伺服器 171
6.2.4 檢測表單數據變化 173
6.3 總結 179
第7章 內容導航 180
7.1 網站導航原理 180
7.1.1 大海撈“針” 180
7.1.2 創造更好的“針”探 182
7.1.3 導航和Ajax 184
7.2 傳統的Web導航 185
7.2.1 一個簡單的導航選單 185
7.2.2 DHTML選單 187
7.3 借鑑桌面套用的導航設施 190
7.3.1 使用qooxdoo庫實現Tab組件 191
7.3.2 qooxdoo工具列和視窗 193
7.3.3 qooxdoo樹組件 196
7.4 桌面套用和Web套用的折中 200
7.4.1 OpenRico庫的Accordion控制項 200
7.4.2 創建HTML友好的樹控制項 203
7.5 總結 209
第8章 處理後退、刷新和撤銷 210
8.1 禁止用戶訪問瀏覽器的導航控制項 210
8.1.1 移除瀏覽器導航工具列 210
8.1.2 捕捉快捷鍵 212
8.1.3 禁止右鍵彈出上下文選單 212
8.1.4 阻止用戶導航歷史記錄或刷新頁面 212
8.2 與瀏覽器導航控制項協作 216
8.2.1 使用JavaScript內建的history對象 216
8.2.2 使用Hash對象實現書籤 217
8.2.3 RSH框架介紹 218
8.2.4 使用RSH框架維護客戶端狀態 219
8.2.5 使用RSH在服務端維護應用程式狀態 222
8.3 處理撤銷操作 227
8.3.1 何時提供可撤銷功能 227
8.3.2 實現一個可撤銷/恢復操作棧 227
8.3.3 擴展撤銷棧以支持更複雜的用戶操作 232
8.4 總結 240
第9章 拖放 241
9.1 支持拖放的JavaScript框架 242
9.2 Ajax套用中的拖放 243
9.2.1 支持拖放的Ajax購物車示例 243
9.2.2 拖放列表中的數據操縱 249
9.2.3 使用ICEfaces創建Ajax購物車 253
9.3 總結 261
第10章 對用戶友好一點 262
10.1 與延遲作鬥爭 263
10.1.1 以反饋來應對等待 263
10.1.2 顯示進度 268
10.1.3 Ajax請求逾時 273
10.1.4 處理多次點擊 275
10.2 預防和檢測輸入錯誤 278
10.2.1 主動顯示上下文幫助 278
10.2.2 對表單輸入項進行有效性驗證 283
10.3 維護焦點和分層順序 290
10.3.1 維護焦點順序 290
10.3.2 管理堆疊順序 294
10.4 總結 299
第11章 狀態管理和快取 300
11.1 客戶端狀態的維持 301
11.2 伺服器數據快取 303
11.2.1 Java類的數據的交換 303
11.2.2 預取 310
11.3 客戶端狀態的持久化 313
11.3.1 以JSON形式存儲和取回用戶狀態 313
11.3.2 通過AMASS保存JSON字元串 315
11.4 總結 319
第12章 開放式Web API和Ajax 320
12.1 Yahoo!開發者網路 321
12.1.1 Yahoo!地圖 321
12.1.2 跨伺服器代理 324
12.1.3 Yahoo! Maps Geocoding 331
12.1.4 Yahoo!交通 335
12.2 Google搜尋API 340
12.3 Flickr圖片分享 349
12.3.1 Flickr用戶內部標識 350
12.3.2 Flickr圖片和縮略圖 353
12.4 稍等!據說,還有很多…… 357
12.4.1 Amazon服務 357
12.4.2 eBay服務 357
12.4.3 MapQuest 357
12.4.4 NOAA/國家氣象服務 358
12.4.5 更多Web服務接口 358
12.5 總結 358
第13章 使用Ajax進行混搭 359
13.1 Trip-o-matic套用簡介 359
13.1.1 套用的目的 359
13.1.2 套用概覽和需求 360
13.2 Trip-o-matic的數據檔案 360
13.2.1 我們應該採用什麼格式 361
13.2.2 旅行數據格式 361
13.2.3 設定Flickr照片集 363
13.3 TripomaticDigester類 363
13.3.1 依賴性檢查 364
13.3.2 TripomaticDigester的構造器 364
13.3.3 解讀旅行數據 365
13.3.4 載入經典信息 366
13.3.5 收集元素的文本內容 367
13.4 Tripomatic套用類 368
13.4.1 Tripomatic類和構造器 369
13.4.2 創建內容元素 370
13.4.3 填充旅行數據 372
13.4.4 顯示地圖 374
13.4.5 載入縮略圖 375
13.4.6 顯示照片 377
13.5 Trip-o-matic套用頁面 378
13.5.1 Trip-o-matic的HTML文檔 378
13.5.2 樣式之旅 379
13.6 總結 381

相關詞條

熱門詞條

聯絡我們