瘋狂ajax講義

yusongcao7發表於2020-10-20

瘋狂ajax講義

下載地址 https://pan.baidu.com/s/1QivJb9JglUJaGNDw1JWm7g

掃碼下面二維碼關注公眾號回覆100123獲取分享碼

 

本書目錄結構如下:

第1章 Ajax概述與Ajax初體驗 1
1.1 重新思考Web應用 2
1.1.1 應用系統的發展史 2
1.1.2 傳統Web應用的優勢和缺點 5
1.2 重新設計Web應用 5
1.2.1 富Internet應用 6
1.2.2 使用Ajax 7
1.3 Ajax技術介紹 7
1.3.1 Ajax的工作方式 8
1.3.2 Ajax技術核心:XMLHttpRequest 8
1.3.3 Ajax的程式設計指令碼:JavaScript語言 8
1.3.4 HTML頁面的DOM模型 9
1.3.5 動態載入和顯示資料 9
1.3.6 Ajax的特徵 10
1.3.7 Ajax帶來的典型優勢 11
1.4 開發傳統的B/S聊天室 13
1.4.1 實現業務邏輯元件 14
1.4.2 實現控制器 16
1.4.3 實現檢視 18
1.4.4 傳統B/S聊天室的問題 19
1.5 Ajax聊天室 20
1.5.1 非同步傳送請求 20
1.5.2 解決多餘重新整理的問題 22
1.5.3 解析伺服器響應 24
1.5.4 何時傳送請求 25
1.5.5 Ajax聊天室的特點 29
1.6 Ajax程式設計的技術難點 29
1.7 傳統Web應用與Ajax應用的對比 31
1.8 本章小結 32
  第2章 XMLHttpRequest物件詳解 33
2.1 XMLHttpRequest物件概述 34
2.2 XMLHttpRequest的方法和屬性 34
2.2.1 XMLHttpRequest的方法 35
2.2.2 XMLHttpRequest的屬性 38
2.3 傳送請求 41
2.3.1 傳送簡單請求 41
2.3.2 傳送GET請求 43
2.3.3 傳送POST請求 46
2.3.4 傳送請求時的編碼問題 47
2.3.5 傳送XML請求 51
2.4 處理伺服器響應 54
2.4.1 處理的時機 54
2.4.2 使用文字響應 54
2.4.3 使用JSON響應 54
2.5 XMLHttpRequest物件的執行週期 57
2.6 Ajax必須解決的問題 58
2.6.1 跨瀏覽器問題 58
2.6.2 安全性問題 59
2.6.3 效能問題 61
2.7 本章小結 65
  第3章 jQuery庫詳解 66
3.1 jQuery入門 67
3.1.1 理解jQuery的設計 67
3.1.2 下載和安裝jQuery 68
3.1.3 讓jQuery與其他JavaScript庫共存 69
3.2 獲取jQuery物件 69
3.2.1 jQuery核心函式 70
3.2.2 jQuery與jQuery.holdReady 71
3.2.3 以CSS選擇器訪問DOM元素 72
3.2.4 選擇器的附加限定詞 74
3.2.5 表單相關的選擇器 77
3.3 jQuery操作類陣列的工具方法 80
3.3.1 過濾相關方法 81
3.3.2 仿DOM導航查詢的相關方法 83
3.3.3 連結方法 85
3.4 jQuery支援的方法 86
3.4.1 jQuery名稱空間的方法 86
3.4.2 資料儲存的相關方法 90
3.4.3 操作屬性的相關方法 91
3.4.4 操作CSS屬性的相關方法 93
3.4.5 操作元素內容的相關方法 96
3.4.6 操作DOM節點的相關方法 98
3.5 jQuery事件相關方法 103
3.5.1 繫結事件處理函式 103
3.5.2 特定事件相關的方法 105
3.5.3 事件物件 106
3.6 動畫效果相關的方法 108
3.6.1 簡單動畫和複雜動畫 108
3.6.2 操作動畫佇列 111
3.7 jQuery的回撥支援 112
3.7.1 回撥支援的基本用法 112
3.7.2 建立Callbacks支援的選項 114
3.8 Ajax相關方法 116
3.8.1 三個工具方法 116
3.8.2 使用load方法 117
3.8.3 jQuery.ajax(options)與jQuery.ajaxSetup(options) 119
3.8.4 使用get/post方法 120
3.9 jQuery的Deferred物件 123
3.9.1 jQuery的非同步呼叫 123
3.9.2 為多個耗時操作指定回撥函式 127
3.9.3 為普通物件增加Defered介面 127
3.9.4 jQuery物件的promise方法 128
3.10 擴充套件jQuery和jQuery外掛 129
3.11 本章小結 130
  第4章 基於jQuery的應用:電子相簿系統 131
4.1 實現持久層 132
4.1.1 實現持久化類 132
4.1.2 配置SessionFactory 134
4.2 實現DAO元件 135
4.2.1 開發通用DAO元件 136
4.2.2 DAO介面定義 139
4.2.3 完成DAO元件的實現類 139
4.3 實現業務邏輯層 141
4.3.1 實現業務邏輯元件 141
4.3.2 配置業務邏輯元件 143
4.4 實現客戶端呼叫 144
4.4.1 訪問業務邏輯元件 144
4.4.2 處理使用者登入 145
4.4.3 獲得使用者相片列表 148
4.4.4 處理翻頁 149
4.4.5 通過隱藏iframe實現檔案上傳 150
4.4.6 頁面載入時的處理 154
4.5 本章小結 155
  第5章 Ext JS核心技術詳解 157
5.1 Ext JS入門 158
5.1.1 下載和安裝Ext JS 158
5.1.2 Ext 入門示例 159
5.1.3 使用Ext JS文件 160
5.2 核心工具方法 162
5.2.1 Ext的屬性和獲取瀏覽器特性 162
5.2.2 onReady方法 163
5.2.3 Ext.defer方法 163
5.2.4 Ext.apply和Ext.applyIf方法 164
5.2.5 Ext.define、Ext.create和Ext.extend方法 166
5.2.6 Ext.isXxx方法 169
5.2.7 Ext.each和Ext.iterate方法 169
5.2.8 Ext.namespace方法 170
5.3 Ext JS擴充套件的工具方法 171
5.3.1 為Array擴充套件的工具方法 171
5.3.2 為Date擴充套件的工具方法 173
5.3.3 為Function擴充套件的工具方法 173
5.3.4 為Number擴充套件的工具方法 174
5.3.5 為Object擴充套件的工具方法 175
5.3.6 為String擴充套件的工具方法 175
5.3.7 JSON支援 176
5.4 簡化的DOM操作 177
5.4.1 Ext.get、Ext.getXxx和Ext.fly方法 177
5.4.2 Ext.query、Ext.select方法與Ext.dom.Query工具類 178
5.4.3 DOM元素的常用操作 182
5.4.4 使用Ext.DomHelper、Ext.Template動態生成HTML 188
5.5 動畫處理 192
5.5.1 使用Ext.fx.Anim實現簡單動畫 192
5.5.2 使用Ext.fx.Animator實現多關鍵幀動畫 194
5.5.3 為元素增加動畫 195
5.6 Ext JS的事件處理 197
5.6.1 使用Ext.EventManager管理事件處理函式與Ext.EventObject事件物件 197
5.6.2 事件處理函式的執行範圍和附加選項 200
5.6.3 使用Ext.util.Observable實現內部事件 201
5.7 實用工具集 203
5.7.1 Ext.util.HashMap與Ext.util.MixedCollection 203
5.7.2 使用Ext.util.Cookies操作Cookie 204
5.7.3 使用Ext.util.DelayedTask 處理延時任務 205
5.7.4 包裝單擊事件:Ext.util.ClickRepeater 205
5.7.5 使用Ext.util.TaskRunner與Ext.TaskManager 206
5.7.6 使用Ext.util.KeyMap與Ext.util.KeyNav為元素處理按鍵事件 207
5.8 拖放 209
5.8.1 使用Ext.dd.DD和Ext.dd.DDProxy建立可拖放元素 209
5.8.2 用Ext.dd.DragSource建立拖動源與用Ext.dd.DropTarget建立放目標 210
5.8.3 用Ext.dd.DragZone建立拖動源與用Ext.dd.DropZone建立放目標 212
5.9 Ajax支援 214
5.10 本章小結 217
  第6章 Ext JS介面元件詳解 218
6.1 容器、皮膚和視窗 219
6.1.1 使用Ext.Component 220
6.1.2 使用Ext.container.Container建立容器 222
6.1.3 使用Ext.panel.Panel建立皮膚 223
6.1.4 使用Ext.toolbar.ToolBar新增工具條 226
6.1.5 使用Ext.tab.Panel建立Tab皮膚 229
6.1.6 使用Ext.container.Viewport整體佈局 231
6.1.7 使用Ext.window.Window建立視窗 234
6.1.8 使用Ext.window.MessageBox建立對話方塊 235
6.2 佈局 238
6.2.1 容器與佈局的關係 238
6.2.2 垂直佈局與水平佈局 238
6.2.3 使用Ext.resizer.Resizer為元件增加大小調整功能 239
6.2.4 使用Ext.resizer.Splitter為盒佈局增加大小調整的功能 241
6.2.5 使用Ext.layout.container.Accordion實現摺疊佈局 242
6.2.6 使用Ext.layout.container.Border實現邊框佈局 244
6.2.7 使用Ext.layout.container.Table實現表格佈局 245
6.2.8 使用Ext.layout.container.Column實現列布局 246
6.2.9 使用Ext.layout.container.Auto實現自動佈局 248
6.2.10 使用Ext.layout.container.Fit實現自適應佈局 249
6.2.11 使用Ext.layout.container.Card實現卡片佈局 250
6.2.12 使用Ext.layout.container.Anchor實現錨佈局 252
6.2.13 使用Ext.layout.container.Absolute實現絕對佈局 253
6.3 選單及選單項 254
6.3.1 使用選單 254
6.3.2 使用Ext.menu.CheckItem實現可勾選選單項 256
6.3.3 使用Ext.menu.ColorPicker建立顏色選擇器選單 257
6.3.4 使用Ext.menu.DatePicker建立日期選擇選單 258
6.4 按鈕 259
6.4.1 使用按鈕 259
6.4.2 帶選單的按鈕 261
6.4.3 帶分割線的按鈕:Ext.button.Split 263
6.4.4 多狀態按鈕:Ext.button.Cycle 264
6.4.5 使用Ext.container.ButtonGroup建立按鈕組 266
6.4.6 使用Ext.Action 267
6.5 其他元件及實用功能 270
6.5.1 使用Ext. ProgressBar建立進度條 270
6.5.2 使用Ext.slider.Single建立滑動條 274
6.5.3 使用Ext.slider.Multi建立多滑塊滑動條 276
6.5.4 使用Ext.Img建立圖片 277
6.5.5 使用Ext.Editor建立編輯器 278
6.5.6 使用Ext.tip.ToolTip建立提示 279
6.5.7 使用Ext.tip.QuickTipManager和Ext.tip.QuickTip建立提示 283
6.5.8 使用Ext.ux.GMapPanel實現Google地圖 284
6.6 表單 286
6.6.1 使用Ext.form.Panel與Ext.form.Basic建立表單 288
6.6.2 配置輸入校驗選項 292
6.6.3 使用vtype選項配置輸入校驗 294
6.6.4 使用Ext.form.action.Submit提交表單 297
6.6.5 使用Ext.form.action.Load為表單裝載資料 300
6.6.6 使用Ext.form.action.StandardSubmit提交表單 303
6.6.7 單行文字框、密碼框 303
6.6.8 使用Ext.form.field.Number 建立數值框 305
6.6.9 使用Ext.form.field.Date建立日期選擇框 306
6.6.10 使用Ext.form.field.Spinner建立微調選擇框 308
6.6.11 使用Ext.form.field.TextArea建立文字域 309
6.6.12 使用Ext.form.field.HtmlEditor建立富文字編輯器 310
6.6.13 使用Ext.form.field.File上傳檔案 311
6.6.14 使用Ext.form.field.Checkbox建立核取方塊 314
6.6.15 使用Ext.form.field.Radio建立單選按鈕 317
6.6.16 使用Ext.form.field.ComboBox建立複合框 319
6.6.17 使用遠端資料、queryMode為local的複合框 321
6.6.18 queryMode為remote的複合框 323
6.6.19 為Ext.form.field.ComboBox增加分頁功能 325
6.6.20 實現Ext.form.field.ComboBox二級聯動 327
6.6.21 使用Ext.form.FieldSet組合表單控制元件 330
6.7 Ext JS的資料中心 332
6.7.1 Ext.data.Model與Ext.data.Field 332
6.7.2 使用Ext.data.proxy.Proxy和Ext.data.reader.Reader讀取資料 335
6.7.3 Ext.data.Store及其子類 336
6.8 使用Ext.grid.Panel生成表格 337
6.8.1 使用Ext.grid.Panel生成表格 337
6.8.2 使用Ext.grid.column.Column定義列 339
6.8.3 使用Ext.grid.Panel顯示遠端資料 342
6.8.4 對Ext.grid.Panel表格進行分頁 343
6.8.5 對本地資料進行分頁 344
6.8.6 表格資料排序和過濾 346
6.8.7 通過表格特性對錶格資料進行分組 347
6.8.8 開發動態編輯的表格 349
6.8.9 允許拖動資料的表格 352
6.8.10 使用Ext.grid.column.Action 操作表格資料 356
6.9 使用Ext.tree.Panel生成樹 360
6.9.1 樹有關的類及簡單樹 360
6.9.2 新增、刪除、修改樹節點 362
6.9.3 帶核取方塊的樹節點 365
6.9.4 表格樹 366
6.9.5 非同步載入樹節點 368
6.9.6 樹節點的拖放與通過拖放更新底層資料 372
6.10 本章小結 376
  第7章 Prototype庫詳解 377
7.1 Prototype的下載和安裝 378
7.1.1 什麼是Prototype庫 378
7.1.2 下載和安裝Prototype庫 379
7.1.3 使用Prototype物件 379
7.2 Prototype的工具函式 380
7.2.1 使用$()函式 380
7.2.2 使用$$()函式 382
7.2.3 使用$A()函式 384
7.2.4 使用$F()函式 385
7.2.5 使用$w()函式 386
7.2.6 使用$H()函式 386
7.2.7 使用$R()函式 387
7.2.8 使用Try.these()函式 388
7.3 Prototype的JSON支援 389
7.4 Prototype的自定義物件和類 390
7.4.1 使用Element物件 390
7.4.2 使用Element.Methods 394
7.4.3 使用Enumerable 394
7.4.4 使用ObjectRange 398
7.4.5 使用Form.Element操作表單控制元件 399
7.4.6 使用Form操作表單 400
7.4.7 使用Hash物件 402
7.4.8 使用Event 404
7.4.9 使用Template 405
7.4.10 使用Class 406
7.4.11 兩個常用的監聽器 407
7.5 Prototype常用的擴充套件 409
7.5.1 擴充套件Array 409
7.5.2 擴充套件document 410
7.5.3 擴充套件String 411
7.5.4 擴充套件Function 414
7.5.5 擴充套件Number 415
7.6 Prototype的Ajax支援 416
7.6.1 使用Ajax.Request類 416
7.6.2 利用Form.request方法 420
7.6.3 使用Ajax.Responders物件 421
7.6.4 使用Ajax物件 422
7.6.5 使用Ajax.Updater類 423
7.6.6 使用Ajax.PeriodicalUpdater類 426
7.7 本章小結 428
  第8章 基於Prototype庫的應用:自動完成 429
8.1 應用的基本分析持久層設計 430
8.1.1 資料要求 430
8.1.2 實現持久化類 430
8.1.3 實現DAO元件 432
8.1.4 部署DAO元件 434
8.2 實現Service元件 435
8.3 使用Servlet提供伺服器響應 437
8.3.1 根據字首查詢品牌 438
8.3.2 根據品牌查詢型號 439
8.3.3 根據型號查詢詳細資訊 439
8.4 客戶端HTML頁面實現 440
8.5 增加HTML頁面的事件響應能力 442
8.5.1 實現品牌輸入框的事件處理器 442
8.5.2 實現鍵盤事件的處理器 444
8.5.3 根據品牌提示型號 446
8.5.4 根據型號顯示描述 447
8.5.5 註冊Ajax事件監聽器 448
8.6 本章小結 449
  第9章 DWR框架詳解 451
9.1 DWR的下載和安裝 452
9.1.1 什麼是DWR 452
9.1.2 下載和安裝DWR 453
9.2 使用DWR 457
9.2.1 編寫處理類 458
9.2.2 配置DWR 460
9.3 使用DWR的轉換器 461
9.3.1 基本轉換器 461
9.3.2 物件轉換器 462
9.3.3 陣列轉換器 464
9.3.4 集合型別轉換器 464
9.4 方法宣告定義 465
9.5 使用DWR的建立器 466
9.5.1 建立器的配置 466
9.5.2 使用new建立器 468
9.5.3 使用none建立器 469
9.5.4 使用script建立器 469
9.6 呼叫伺服器端的方法 470
9.6.1 呼叫伺服器端方法的通用配置 471
9.6.2 使用簡單回撥 472
9.6.3 使用JSON格式的回撥 476
9.6.4 將客戶端引數傳遞回撥函式 479
9.7 使用engine.js 480
9.7.1 設定呼叫順序 480
9.7.2 設定全域性超時時長 481
9.7.3 設定全域性Hook函式 481
9.7.4 設定全域性處理函式 481
9.7.5 設定常用的全域性選項 482
9.7.6 批處理 482
9.8 使用util.js 483
9.8.1 使用$() 483
9.8.2 處理列表 483
9.8.3 處理表格 488
9.8.4 訪問HTML元素值 492
9.8.5 幾個工具函式 494
9.9 整合第三方Java EE框架 496
9.9.1 訪問Servlet API 496
9.9.2 整合Spring 500
9.10 使用DWR註釋 502
9.10.1 初始配置 502
9.10.2 標註建立器和轉換器 503
9.11 異常處理 504
9.12 反向Ajax 506
9.12.1 配置反向Ajax 506
9.12.2 在Java方法中操作Web頁 507
9.12.3 在客戶端呼叫反向Ajax方法 509
9.13 DWR 3簡化的檔案上傳 510
9.13.1 檔案上傳的處理類 510
9.13.2 呼叫JavaScript完成檔案上傳 512
9.14 本章小結 514
  第10章 基於DWR的應用:即時訊息系統 515
10.1 實現Hibernate持久層 516
10.1.1 實現持久化類 516
10.1.2 將POJO對映成持久化物件 518
10.2 實現DAO元件 519
10.2.1 實現DAO元件 519
10.2.2 部署DAO元件 520
10.3 實現業務邏輯元件 521
10.3.1 業務邏輯元件的介面 521
10.3.2 業務邏輯元件的實現類 522
10.3.3 部署業務邏輯元件 525
10.4 開發DWR前端處理類 526
10.4.1 實現DWR前端處理元件 526
10.4.2 為前端處理器增加許可權控制 528
10.5 處理非同步請求 529
10.5.1 將Spring容器中的Bean建立成JavaScript物件 529
10.5.2 處理使用者登入 531
10.5.3 處理使用者註冊 532
10.5.4 處理訊息釋出 534
10.5.5 獲取訊息列表 535
10.5.6 處理分頁 536
10.5.7 檢視訊息內容 537
10.5.8 頁面載入時的處理 538
10.6 本章小結 539
  第11章 基於Ext JS 4.1的應用:簡易Blog系統 540
11.1 實現Hibernate持久層 541
11.1.1 設計Hibernate的持久化類 541
11.1.2 完成對映檔案 543
11.2 實現DAO元件 545
11.2.1 DAO介面定義 546
11.2.2 實現DAO元件 546
11.2.3 配置DAO元件 547
11.3 實現業務邏輯元件 548
11.3.1 業務邏輯元件的介面 548
11.3.2 業務邏輯元件的實現類 549
11.3.3 配置業務邏輯元件 552
11.4 使用Ext JS開發前端 553
11.4.1 初始化介面 553
11.4.2 顯示指定Blog文章 557
11.4.3 顯示回覆列表 559
11.4.4 新增回復 561
11.4.5 發表新Blog文章
11.5 本章小結 569
  第12章 Ajax例項:電子拍賣系統 570
12.1 總體說明和概要設計 571
12.1.1 系統的總體架構設計 571
12.1.2 資料庫設計 572
12.2 實現Hibernate持久化類 573
12.2.1 設計Domain Object 574
12.2.2 實現Domain Object 575
12.3 DAO層實現 579
12.3.1 DAO的基礎配置 579
12.3.2 實現DAO元件 580
12.3.3 部署DAO元件 583
12.4 業務邏輯層實現 584
12.4.1 設計業務邏輯元件 584
12.4.2 依賴注入DAO元件 586
12.4.3 業務邏輯元件的異常處理 587
12.4.4 處理使用者競價 588
12.4.5 判斷拍賣物品狀態 590
12.4.6 事務管理 592
12.4.7 配置業務層元件 592
12.5 暴露前端處理方法 595
12.5.1 定義DWR前端處理類 595
12.5.2 初始化Spring容器 597
12.5.3 配置DWR的核心Servlet 597
12.5.4 暴露前端處理方法 598
12.5.5 對前端處理方法增加許可權檢查 600
12.6 呼叫前端處理方法響應使用者請求 601
12.6.1 頁面載入時的函式 601
12.6.2 處理返回首頁的請求 602
12.6.3 瀏覽所有流拍物品 602
12.6.4 處理使用者登入 605
12.6.5 管理物品 609
12.6.6 管理物品種類 612
12.6.7 檢視競得物品 616
12.6.8 檢視自己的競價記錄 617
12.6.9 瀏覽拍賣物品 619
12.6.10 參與競價 621
12.7 本章小結 624

相關文章