Ajax并不神秘揭下各種Ajax控件和類庫的小褲衩_AJAX教程
推薦:Ajax技術(shù)實踐之完成Ajax自動完成功能近日學(xué)習(xí)了一下AJAX,照做了幾個例子,感覺比較新奇。 第一個就是自動完成的功能即Autocomplete,具體的例子可以在這里看: http://www.b2c-battery.co.uk 在Search框內(nèi)輸入一
Ajax控件和類庫現(xiàn)在真的太多了,不知不覺中增加了Ajax的神秘性和復(fù)雜性,看到版內(nèi)很多人為此費解和傷神,決定發(fā)此貼談?wù)劚救藢jax的觀點,希望能讓大家對Ajax有一個本質(zhì)的認(rèn)識。
觀點一:Ajax和服務(wù)器端技術(shù)毫不相關(guān)
嚴(yán)格的說,與傳統(tǒng)web開發(fā)相比,Ajax是完完全全的客戶端技術(shù)。由于很多控件封裝了客戶端和服務(wù)器端的通信過程,因此很多問題也因通信而起。事實上,不論何種Ajax技術(shù),服務(wù)器端都是返回的一個純文本流,再由客戶端來處理這個文本。這段文本可以是xml格式,也可以是一個Html片段,也可以是一段javascript腳本,或者僅是一個字符串。服務(wù)器端僅僅是作為一個數(shù)據(jù)接口,客戶端使用XMLHttpRequest對象來請求這個頁面,服務(wù)器端在頁面內(nèi)寫入結(jié)果文本,這個過程和普通的web開發(fā)沒有任何區(qū)別。所不同的只是,客戶端在異步獲取結(jié)果后,不是直接顯示在頁面,而是由客戶端的javascript腳本處理后再顯示在頁面。至于各種控件所謂的能返回DataSet對象,Date對象,或者其他的數(shù)據(jù)類型,都是封裝了這個處理過程的結(jié)果。
觀點二:DOM模型是Ajax最本質(zhì)的技術(shù)
之所以沒有把XMLHttpRequest列為最本質(zhì)的技術(shù),因為本人覺得它實在是太簡單了,它只是可以讓瀏覽器在后臺請求一個頁面,并將其內(nèi)容交給javascript處理。真正的核心應(yīng)該是:DOM模型,即文檔對象模型。在DOM模型里,Html標(biāo)記都被認(rèn)為是一個對象,例如:div對象,table對象等等。DOM模型就規(guī)定了這些對象所具有的屬性、方法和事件。通過這些性質(zhì),可以對一個已經(jīng)顯示于瀏覽器的頁面進(jìn)行內(nèi)容的修改,例如增加節(jié)點、修改節(jié)點位置,刪除節(jié)點等等。而不僅僅是一個innerHTML屬性這么簡單,雖然這是一個很有用的屬性。
觀點三:在使用Ajax控件前理解它們的實現(xiàn)
使用Ajax控件的確可以提高效率,但如果你空中樓閣般使用控件,那就得不償失了。從一個控件換到另外一個控件又會有一個漫長的學(xué)習(xí)曲線。所以應(yīng)該從底層了解其,況且Ajax實在不是什么高深的技術(shù)。其實任何東西的最底層其實都是簡單的,但如果封裝了這些底層的東西,事情會變得復(fù)雜和難以理解。以Asp.net為例,它的定制特性可以使得只要在方法前加上[ajax method]類似這樣的標(biāo)志就可以稱為一個異步方法,相信這使得Asp.net的Ajax開發(fā)顯得更加“高效”或者是“神秘”,而更多的事情則被封裝了。同樣記住一條,任何對服務(wù)器端的請求僅僅是返回純文本,我們不一定要依賴于封裝好的處理過程,而完全可以自己來實現(xiàn)。
觀點四:學(xué)好javascript
在大多數(shù)人看來,javascript總不是那么一種正規(guī)的語言,隨便copy一段就碰巧能運行,學(xué)過c之類的人,一看也能看懂,而且在瀏覽器中常常有腳本錯誤提示,所以潛意識覺得總不能付之以大任。事實上,要學(xué)好Ajax,這就完全是一種錯誤的看法。javascript作為一種腳本語言,其語法的確不是很嚴(yán)格,但并不妨礙其完成諸多復(fù)雜的任務(wù),沒有javascript,就沒有Ajax。所以本人強(qiáng)烈建議,學(xué)Ajax前,一定要好好研究一番javascript,一般來講,如果能順利看懂prototype框架的代碼(如:prototype-1.3.1.js),你的javascript水平就基本過關(guān)了。同時對DOM模型也可以算有一個基本的了解。
觀點五:Ajax點綴:CSS
用javascript控制CSS其實很簡單,基本上每個DOM對象都有一個style對象,只要把css屬性里的"-"去掉,并讓隨后的字母變?yōu)榇髮懢涂梢宰鳛閷傩允褂昧�,例如:element.style.backgroundColor="#f00";在css是:選擇符 {background-color:#f00}
一口氣說這么多,希望對大家有點用處^_^
附推薦一個開源的Ajax Blog系統(tǒng)(中英文版):
http://www.sourceforge.net/projects/x2blog/
本人Blog,歡迎交流:http://www.x2blog.cn/supNate/
分享:我的第一個AJAX程序Author:zfive5(zhaozidong)Email :[email protected] 禮拜五下午公司網(wǎng)站維護(hù)的同事問我怎樣實現(xiàn)一個功能,一個提交頁上有兩個select,第二個select根據(jù)第一個select變,我的第一念頭就
- Ajax中瀏覽器的緩存問題解決方法
- AJAX和WebService實現(xiàn)省市縣三級聯(lián)動具體代碼
- ajax 登錄功能簡單實現(xiàn)(未連接數(shù)據(jù)庫)
- AJAX和WebService實現(xiàn)郵箱驗證(無刷新驗證郵件地址是否合法)
- AJAX和三層架構(gòu)實現(xiàn)分頁功能具體思路及代碼
- 使用AJAX返回WebService里的集合具體實現(xiàn)
- AJAX獲取服務(wù)器當(dāng)前時間及時間格式輸出處理
- ajax傳遞多個參數(shù)具體實現(xiàn)
- ajax傳遞一個參數(shù)具體實現(xiàn)
- 滑輪滾動到頁面底部ajax加載數(shù)據(jù)配合jsonp實現(xiàn)探討
- jQery ajax——load()方法示例介紹
- jQuery+Ajax實現(xiàn)表格數(shù)據(jù)不同列標(biāo)題排序(為表格注入活力)
AJAX教程Rss訂閱編程教程搜索
AJAX教程推薦
- JavaScript如何控制Session實現(xiàn)原理及代碼
- AJAX中JavaScript支持面向?qū)ο蟮幕A(chǔ)
- AJAX中
- 談在AJAX中GET回的ResponseText中文亂碼的最簡解決辦法
- AJAX入門XMLHttpRequest慨述
- 基于AJAX技術(shù)實現(xiàn)Struts校驗框架
- jQuery+Ajax實現(xiàn)表格數(shù)據(jù)不同列標(biāo)題排序(為表格注入活力)
- 利用iframe實現(xiàn)ajax跨域通信的實現(xiàn)原理(圖解)
- ajax的 IE cache 相關(guān)問題解決
- 使用AJAX技術(shù)打造博客無刷新搜索引擎
- 相關(guān)鏈接:
- 教程說明:
AJAX教程-Ajax并不神秘揭下各種Ajax控件和類庫的小褲衩
。