Ajax從入門到精通

Ajax從入門到精通

《Ajax從入門到精通》從開發Ajax套用所需要具備的基本能力開始,逐步深入地向讀者介紹JavaScript的基本知識、高級技巧、開發工具的使用、開發框架的介紹、瀏覽器兼容性的問題、調試技巧、Ajax應用程式的組成、不同的數據組織方式,以及開發過程中經常會遇到的問題,並對Ajax應用程式的架構進行了探討,是一本全面的、適合各種水平層次的讀者閱讀和學習的教程。

基本信息

版權資訊

書 名: Ajax從入門到精通

作 者:陳華

出版社: 清華大學出版社

出版時間: 2008

ISBN: 9787302176428

開本: 16

定價: 76.00 元

內容簡介

《Ajax從入門到精通》作為比較全面的Ajax教程書籍,涵蓋了基本語言介紹(JavaScript)、DHTML技術(DOM)、Ajax技術核心知識、面向對象的JavaScript、數據組織方式(XML和JSON)等知識,並對開發工具和調試技巧以及流行的套用框架進行了介紹。尤其是本書的第10~15章,介紹了Ajax的高級技術,包括對XML和JSON的深入介紹,以及對Ajax應用程式架構的探討、JavaScript面向對象編程的技巧等。

《Ajax從入門到精通》對於PHP、ASP、Java、.NET程式設計師有很大的幫助,同時適合Web前端開發人員、Web性能檢測人員、需要掌握Ajax技術的測試人員、Web架構師、學習Web高級技術的初級程式設計師以及所有的Web普通開發人員作為必備參考用書使用。

編輯推薦

講解Ajax的原理、開發、調試、跨瀏覽器兼容等高級技術用、JavaScrlpl實現最流行的Ajax框架和組件、解讀最經典的JavaScript框架Prototype.js、詳細介紹Web開發技術的最佳化、分析、JavaScript的面向對象編程和Ajax的數據形式、JSON、配有原始碼光碟,提高學習效率。

準備篇

什麼是Ajax

1.1Ajax概述

1.1.1關鍵技術:XMLHttpRequest

1.1.2Ajax名詞的由來

1.2經典案例1:搜尋關鍵字建議系統(GoogleSuggest)

1.3經典案例2:優秀的電子郵件服務系統(Gmail)

1.3.1註冊Gmail

1.3.2Gmail主界面

1.3.3Inbox(收件箱)工作區域

1.3.4WebClip(網路剪輯)

1.3.5郵件操作區域

1.3.6操作郵件

1.4第一個Ajax應用程式:

HelloWorld!

1.5小結

技術構成

JavaScript:Ajax的開發語言

2.1JavaScript概述

2.1.1對JavaScript的誤解

2.1.2JavaScript的版本

2.2數據類型和值

2.2.1數字

2.2.2字元串

2.2.3布爾值

2.2.4函式

2.2.5對象

2.2.6數組

2.2.7null值

2.2.8undefined值

2.3JavaScript的變數

2.3.1變數的類型

2.3.2變數的聲明

2.3.3變數的作用域

2.3.4基本類型和引用類型

2.4表達式和運算符

2.4.1表達式

2.4.2算術運算符

2.4.3相等運算符

2.4.4關係運算符

2.4.5賦值運算符

2.4.6邏輯運算符

2.4.7字元串運算符

2.4.8其他運算符

2.5語句

2.5.1聲明變數:var語句

2.5.2流程控制:if語句

2.5.3流程控制:elseif語句

2.5.4流程控制:switch語句

2.5.5循環:while語句

2.5.6循環:do/while語句

2.5.7循環:for語句

2.5.8遍歷:for/in語句

2.5.9控制語句:break語句

2.5.10控制語句:continue語句

2.5.11函式語句:function語句

2.5.12函式返回值:return語句

2.5.13拋出異常:throw語句

2.5.14異常處理:try/catch/finally語句

2.5.15空語句

2.6JavaScript的函式

2.6.1函式的定義和調用

2.6.2實際參數列表:arguments屬性的使用

2.7大小寫敏感性

2.8JavaScript的注釋

2.9JavaScript的保留字

JavaScript的常用對象

3.1保存多個數據元素的容器:Array對象

3.1.1數組的創建

3.1.2得到數組的長度

3.1.3添加、刪除和替換數組元素

3.1.4得到數組片段

3.1.5反轉數組

3.1.6將數組轉換成字元串

3.1.7數組元素的排序

3.2字元串的處理:String對象

3.2.1獲取字元串的長度

3.2.2字元串的截取

3.2.3字元串的替換

3.2.4大小寫轉換

3.2.5將字元串轉換成數組

3.2.6拼接字元串的最佳化方法

3.3正則表達式:RegExp對象

3.3.1創建正則表達式

3.3.2正則表達式的語法規則

3.3.3正則表達式的屬性

3.3.4用於模式匹配的String方法

3.3.5用於模式匹配的RegExp方法

3.3.6常用正則表達式

3.4日期和時間:Date對象

3.4.1Date對象的創建

3.4.2讀取和設定日期及時間的各個部分

3.4.3日期和時間的換算

3.5複雜的數學運算:Math對象

3.5.1小數的取整

3.5.2得到隨機數

3.5.3冪運算

3.5.4最大值和最小值

3.6操作瀏覽器視窗:window對象

3.6.1使用對話框

3.6.2改變視窗狀態欄的信息

3.6.3延遲執行和定時執行

3.6.4URL的獲取和跳轉

3.6.5歷史記錄的前進和後退

3.6.6控制視窗的大小和位置

3.6.7打開和關閉視窗

3.6.8獲得焦點和失去焦點

3.6.9取得用戶顯示器的信息

3.6.10取得用戶瀏覽器的信息

3.7操作HTML文檔:document對象

3.7.1文檔的輸出

3.7.2文檔的標題

3.7.3文檔的圖像

3.7.4文檔的超連結

3.7.5文檔的表單

3.8套用實例

3.8.1在網頁上顯示自動更新的日期和

時間

3.8.2一個簡單的小遊戲:LuckySeven(幸運7)

3.9小結

DOM文檔對象模型介紹

4.1基本概念

4.1.1樹形結構

4.1.2結點的類型和組成

4.1.3結點之間的關係

4.2結點的引用

4.2.1根據id屬性引用結點

4.2.2根據name屬性引用結點

4.2.3根據標籤名引用結點

4.2.4引用父結點

4.2.5引用子結點

4.2.6引用相鄰的結點

4.3結點的操作

4.3.1創建元素結點

4.3.2創建文本結點

4.3.3添加結點

4.3.4插入子結點

4.3.5替換子結點

4.3.6複製結點

4.3.7刪除子結點

4.3.8讀取結點屬性

4.3.9添加和修改屬性結點

4.3.10刪除屬性結點

4.4控制元素的樣式

4.4.1獲取和設定元素的css類

4.4.2獲取和設定元素樣式

4.5事件處理

4.5.1事件模型和傳播機制

4.5.2註冊事件處理程式

4.5.3註銷事件處理程式

4.5.4事件對象

4.5.5常用事件

4.6套用實例

4.6.1懸浮的廣告

4.6.2可拖動的層

4.7小結

開發Ajax應用程式需要使用的工具

5.1開發工具:Aptana

5.1.1Aptana的下載和安裝

5.1.2Aptana的界面介紹

5.1.3Aptana的使用

5.1.4Aptana的更新

5.1.5Aptana的卸載

5.2Firefox

5.2.1錯誤控制台:ErrorConsole

5.2.2優秀的調試外掛程式:Firebug

5.3HTTP調試工具:Fiddler

5.3.1Fiddler的下載和安裝

5.3.2使用Fiddler

5.4小結

技術分析

HelloWorld!分析

6.1XMLHttpRequest對象詳解

6.1.1初始化請求

6.1.2設定請求的HTTP頭信息

6.1.3傳送請求

6.1.4獲取請求的當前狀態

6.1.5指定請求狀態改變時的事件處理句柄

6.1.6返回當前請求的HTTP狀態碼

6.1.7從返回信息中獲取指定的HTTP頭

6.1.8獲取返回信息的所有HTTP頭

6.1.9取得返回的數據

6.1.10取消當前請求

6.2搭建基本的Ajax開發框架

6.2.1創建XMLHttpRequest對象

6.2.2傳送請求和回調函式

6.2.3一個封裝好的基本Ajax應用程式開發框架

6.3小結

完善的Ajax應用程式:Ajax留言本

7.1留言本的需求

7.2留言本的基本設計

7.2.1系統環境

7.2.2留言的數據和操作

7.2.3資料庫設計

7.2.4後台功能模組

7.2.5前台腳本功能模組

7.2.6系統檔案結構和檔案清單

7.3留言本的實現

7.3.1創建資料庫

7.3.2完成前台界面:index.html

7.3.3完成前台界面:樣式表

7.3.4完成後台功能模組:資料庫操作模組

7.3.5完成後台功能模組:留言本邏輯處理模組

7.3.6完成後台功能模組:接口模組

7.3.7完成前台功能模組:基本Ajax功能模組

7.3.8完成前台功能模組:讀取和傳送留言

7.3.9整合留言本程式

7.4留言本的功能測試

7.5小結

調試技巧

8.1深入解析Firebug的調試功能

8.1.1檢查常規錯誤

8.1.2完善的log功能

8.1.3控制台的命令行功能

8.1.4斷點、單步執行和變數信息

8.1.5在其他瀏覽器中使用Firebug的控制台

8.1.6禁止測試代碼

8.2使用Aptana的集成調試功能

8.2.1配置集成調試環境

8.2.2啟動調試

8.2.3斷點、單步執行和變數信息

8.2.4使用console.log和dump輸出文本信息

8.2.5使用aptana.trace輸出調用堆疊信息

8.2.6使用斷言

8.2.7禁止調試代碼

8.3小結

常見問題

9.1編碼的處理

9.1.1檔案編碼與聲明編碼

9.1.2Ajax請求亂碼

9.1.3傳送數據亂碼

9.2控制快取

9.3選擇合適的請求方式

9.4控制多個Ajax請求

9.4.1輪詢模式

9.4.2事件回響模式

9.5Ajax請求的安全性

9.5.1身份驗證

9.5.2防範SQL注入

9.5.3防範JavaScript注入

9.6小結

套用進階

數據的組織方式:XML

10.1XML概述

10.2XML語法規範

10.2.1XML聲明

10.2.2根節點

10.2.3開始和結束標記

10.2.4屬性

10.2.5合理地嵌套包含

10.2.6大小寫敏感性

10.2.7空白被保留

10.2.8XML的注釋

10.2.9元素的命名

10.2.10轉義字元

10.2.11CDATA部件

10.3XML命名空間

10.4XMLSchema

10.4.1基本示例

10.4.2定義元素

10.4.3簡單類型

10.4.4複合類型

10.4.5定義屬性

10.4.6默認值

10.4.7約束特殊值

10.4.8列表類型

10.4.9聯合類型

10.4.10匿名類型定義

10.4.11簡單的複合類型

10.4.12混合內容

10.4.13任意類型

10.4.14分組和引用

10.4.15命名衝突

10.4.16關聯XML與XMLSchema

10.5XMLDOM

10.5.1創建XMLDOM對象

10.5.2載入XML文檔

10.5.3載入XML片段

10.5.4取得XML內容

10.6強大的檢索工具:XPath

10.6.1基本示例

10.6.2選取節點

10.6.3謂語

10.6.4通配符

10.6.5使用多個路徑

10.6.6坐標軸

10.6.7運算符

10.6.8路徑表達式的步語法

10.6.9XPath函式

10.7格式化XML工具:XSL

10.7.1基本示例

10.7.2XSL聲明

10.7.3使用模板

10.7.4取得數據

10.7.5使用for-each元素代替模板

10.7.6使用sort元素進行排序

10.7.7流程控制

10.7.8創建元素和屬性

10.7.9指定輸出格式

10.8在客戶端格式化XML

10.9跨瀏覽器的XML開發框架:zXML

10.10套用實例:Ajax文章列表程式(XML)

10.10.1確認需求

10.10.2系統設計

10.10.3系統實現:創建資料庫

10.10.4系統實現:完成後台模組

10.10.5系統實現:完成前台界面

10.10.6系統實現:完成前台模組

10.10.7系統實現:編寫xsl樣式表

10.10.8整合系統

10.10.9系統測試

10.11小結

數據的組織方式:JSON

11.1JSON的語法結構

11.1.1JSON的基本結構

11.1.2JSON中值的類型

11.2JSON的語言支持

11.2.1在JavaScript中讀取JSON數據

11.2.2在JavaScript中輸出JSON數據

11.2.3在PHP中使用JSON

11.2.4在C#中輸出JSON數據

11.2.5在C#中輸出帶類型說明的JSON數據

11.2.6在C#中讀取JSON數據

11.2.7更多語言支持

11.3JSON的優點和不足

11.3.1JSON的優點

11.3.2JSON的不足

11.4將XML轉換為JSON

11.5小結

JavaScript面向對象編程(OOP)

12.1JavaScript中的類

12.1.1創建類

12.1.2類的屬性

12.1.3類的方法

12.1.4公有屬性和私有屬性

12.1.5公有方法和私有方法

12.1.6靜態屬性和靜態方法

12.1.7原型對象prototype

12.2JavaScript中的繼承

12.2.1對象冒充

12.2.2使用對象冒充實現繼承

12.2.3繼承原型對象中的屬性和方法

12.2.4封裝繼承方法

12.3更多技巧

12.3.1屬性的封裝

12.3.2實現多態

12.3.3命名空間

12.3.4實現短類名

12.4使用JSVM進行代碼組織

12.4.1下載和配置JSVM

12.4.2路徑和檔案名稱的約定

12.4.3編寫類

12.4.4類的按需載入

12.4.5在類中引用其他類

12.5小結

跨瀏覽器的兼容性問題

13.1使用getElementById代替idName

13.2表單元素的引用問題

13.3訪問集合對象成員的問題

13.4讀取自定義屬性的問題

13.5常量的定義問題

13.6input元素的type屬性讀寫問題

13.7模態視窗的問題

13.8frame的操作問題

13.9innerText的問題

13.10對父元素的引用問題

13.11getElementsByName的問題

13.12outerText的問題

13.13outerHTML的問題

13.14小結

Prototype.js框架介紹

14.1Prototype.js常用方法介紹

14.1.1使用$方法代替document.getElementById

14.1.2使用$$方法獲得元素引用

14.1.3根據css類名取得元素集合

14.1.4使用Try.these嘗試運行多個函式

14.1.5使用$F方法來獲得表單元素的值

14.1.6數組疊代的簡化方法

14.1.7設定元素的樣式

14.1.8切換元素的隱現狀態

14.1.9序列化表單值

14.1.10轉換HTML標籤

14.2基於Prototype.js的類和繼承

14.2.1使用Class.create()創建類

14.2.2Prototype.js中的繼承

14.3Prototype.js中的事件處理

14.3.1註冊事件處理函式

14.3.2註銷事件處理函式

14.4Prototype.js的Ajax功能

14.4.1Ajax.Request方法詳解

14.4.2用Ajax.Updater更新界面

14.4.3用Ajax.PeriodicalUpdater定時更新界面

14.4.4使用Form.request方法無刷新提交表單

14.5基於Prototype.js的留言本程式

14.6小結

第15章關於架構的思考

15.1REST架構模式

15.2Web應用程式的發展史

15.2.1提供靜態文檔的Web站點

15.2.2早期的動態Web應用程式

15.2.3融入式Web應用程式

15.3Ajax為REST帶來新的契機

15.3.1快取Ajax程式引擎

15.3.2快取Ajax數據

15.4小結

Ajax的缺陷及補救

16.1搜尋引擎的收錄問題

16.1.1問題產生的原因

16.1.2解決辦法

16.2前進和後退的問題

16.2.1問題產生的原因

16.2.2Firefox下的解決辦法

16.2.3在IE下的解決辦法

16.3小結

實戰篇

Ajax高級表單驗證程式

17.1確定需求

17.2基本設計

17.3代碼實現

17.3.1實現EventManager類

17.3.2實現Request類

17.3.3實現Validator類

17.3.4實現FormItemValidator類

17.3.5實現FormValidator類

17.4測試

Ajax動態聯動選單

18.1確定需求

18.2基本設計

18.3實例代碼

18.4測試

Ajax聊天室

19.1確定需求

19.2基本設計

19.2.1系統結構

19.2.2實體及資料庫設計

19.2.3後台功能模組

19.2.4請求控制器

19.2.5前台界面

19.2.6前台功能模組

19.3實例代碼

19.3.1建立資料庫

19.3.2實現後台功能模組

19.3.3請求控制器

19.3.4界面HTML和CSS代碼

19.3.5前台功能模組

19.3.6加入表情圖示

19.3.7整合程式

19.4測試

附錄AJavaScript速查手冊

附錄BHTMLDOM速查手冊

附錄CPrototype速查手冊

相關詞條

相關搜尋

熱門詞條

聯絡我們