Building Block

          隨風飄過的日子 - 我們漸漸成長

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            9 隨筆 :: 4 文章 :: 2 評論 :: 0 Trackbacks

          2006年1月15日 #

          轉自:http://blog.csdn.net/thinkpadleo/archive/2006/01/13/578182.aspx

          本文來源網絡,屬于轉載范圍,,特此聲明

          眾所周知,異步交互、JavaScript腳本和XML封裝數據是AJAX的三大特征。其實,在實際應用中,不需要牢牢套死這三條大律,在我看來,AJAX - X,即去掉用XML封裝數據,也不失為一種好的設計思路,如果應用恰當,更顯輕盈步伐和巧妙思路。

          一般讀取AJAX返回的XML結構的數據時使用XMLHttp的responseXML對象屬性,同時,XMLHttp也提供了另外一個屬性,即ResponseText,通過這個屬性,XMLHttp可以接受來自服務器的文本結構的字符串信息。去掉XML的AJAX可以使用ResponseText這個對象屬性,很靈活的操控返回數據的格式,可以自定義格式,比如我通常喜歡用c語言的那種文件流方式定義返回的字符串結構,有文件頭和具體的文件信息實體,文件頭分為狀態信息以及文件字符長度,我摒棄了文件字符長度的定義,規定死接受的ResponseTex字符串中的第一位為狀態碼,比如設定常量值0表示一起正常,非0的數字表示不正常,甚至有錯誤等。如果有非0值,程序自動取第二位起到257位(長度為256)的字符串組成為狀態信息,從258位開始到末尾的字符串就是服務器返回的正常結果信息。
          substring(0,1)取狀態碼
          substring(1,256)取服務器錯誤信息(錯誤信息不夠256位用空格補齊,取到數據后進行Trim處理)
          substring(256,末尾)取服務器返回的數據信息
          三次substring即完成了一個簡單但完整的交互工作。比起XML解析組件來說要快的多。

          用ResponseText比封裝為XML處理數據快和簡單是一個原因,另一個原因是可操控性更大更靈活,打開Google Suggest,在搜索框輸入字符可以給你給出拼寫提示,Suggest就是應用了AJAX技術,不過它在從服務器返回數據時并沒有使用XML封裝,也沒有自定義ResponseText格式,而是直接將返回代碼組織成js腳本,通過瀏覽器返回后直接執行,如eval(XMLHttp.ResponseText)這樣的方式進行執行,http://www.google.com/complete/search?hl=en&js=true&qu=ajax 通過這個鏈接你可以看到Suggest利用AJAX得到的返回數據,此頁面是在Google Suggest的搜索框中輸入"AJAX"后得系統動態返回的數據。

           

          sendRPCDone(frameElement, "ajax", new Array("ajax", "ajax amsterdam", "ajax fc", "ajax ontario", "ajax grips", "ajax football club", "ajax public library", "ajax football", "ajax soccer", "ajax pickering transit"), new Array("3,840,000 results", "502,000 results", "710,000 results", "275,000 results", "8,860 results", "573,000 results", "40,500 results", "454,000 results", "437,000 results", "10,700 results"), new Array(""));
          瀏覽器段拿到這段代碼后直接eval就可以了,至于sendRPCDone這個函數,那當然得實現定義后并裝載到頁面中啦。XMLHttp這個名字以XML開頭,讓很多人禁錮了思想和創意,完全拋棄X,你也可以做出純AJAX的實例來。

           

          當然,對于大型系統來講,為了保持數據接口的一致和整齊,還是用XML來傳遞更嚴謹更統一點,聽說微軟已經發起了重寫XML Parse組件的號召,估計下一個版本的XMLHttp還是DOMParser還是MSXML2.DOMDocument都會大大提高效率,減少資源占用的。

          ajax版簡易聊天室介紹及源碼下載

          http://blog.csdn.net/thinkpadleo/archive/2006/01/22/586051.aspx

          ajax經典文章列表(部分為中文版)

          http://blog.csdn.net/thinkpadleo/archive/2006/01/13/578367.aspx

          仿google一行代碼生成SiteMap

          http://blog.csdn.net/thinkpadleo/archive/2006/01/13/578376.aspx

          Ajax簡介(轉自http://dev2dev.bea.com.cn,包含例程下載)

          http://blog.csdn.net/thinkpadleo/archive/2006/01/22/586260.aspx

          Ajax原理詳細說明(轉自ibm開發者網站)

          http://blog.csdn.net/thinkpadleo/archive/2006/01/22/586267.aspx

           Atlas—微軟的Ajax工具包(轉自it專家web服務)

          posted @ 2006-03-09 13:39 幾木 閱讀(271) | 評論 (0)編輯 收藏

          轉自:http://blog.csdn.net/quailzhang/archive/2005/09/16/482415.aspx

          本人雖接觸ajax不久,但對AJAX的七宗罪很是質疑:
          質疑罪之一:對搜索引擎的支持不好
          的確ajax技術讓頁面沒有鏈接,難以讓搜索引擎搜索。但是進步的技術能帶動其他相對“落后”的

          技術。想想當年互聯網從html靜態頁面過渡到asp/jsp/php動態網頁的時候,搜索引擎也經過了一個

          適應階段。幾年前做web的時候,還有文章說動態頁面不容易被google發現,現在還有誰敢說google

          對動態網頁支持不好?只有新技術促進搜索引擎的發展,而不是新技術去適應搜索引擎!

          質疑罪之二:編寫復雜、容易出錯
          有很多公司已經有了自己的一套庫,比如說backbase,bindows他們都有一整套完整的開發模式,如

          果你認為不好調試的話,你用用backbase的那套庫試試,里面有非常完善的調試以及出錯信息顯示


          最近微軟正致力于簡化Ajax風格Web應用的開發,并提供豐富的、可交互的和個性化的用戶體驗。開

          發者可以對客戶端腳本不甚了解;但他們可以很容易地開發和調試這種應用程序。


          質疑罪之三:冗余代碼更多了
          ajax的一個優點就是根據需要向服務器端發送請求,用什么就取什么、用多少就取多少,根本不會

          有數據的冗余和浪費,而且更新頁面時不用重載全部內容,只更新需要更新的那部分即可。而且

          ajax的一個最大的優點就是異步傳輸(Asynchronous),她可以讓你在無刷新的基礎之上一邊看文

          章,一邊又能向服務器提交你的回復信息。利用好這個異步,才能算是掌握了AJAX的精髓。

          質疑罪之四:破壞了Web的原有標準
          Web標準應該往前發展,既然web已經不是單純的信息網絡,而是更高級系統應用的媒介,那么理應

          有更為先進的標準。事實上web的標準也在不斷的改進中。用舊有的標準桎梏新生技術,未免就殘忍

          了一些。

          質疑罪之五:缺少一個沒有標準之爭、沒有back和history的瀏覽器
          現在瀏覽器之間的差異的確存在,的確讓程序員很苦惱,但是這不是ajax引起的,這是瀏覽器自己

          的問題,比如說IE對ajax支持得不是太好,但是最近微軟剛發表過聲明說:今后的IE中將擁有Ajax的

          所有東西——DHTML、JScript和XmlHttp。可見IE正在適應ajax!
          還有,他提出了“那兩個網站除了酷酷的感覺,毫無用處”,網站有沒有用跟網站所用的技術有關

          嗎?換個角度,那你說google map 和gmail有沒有用呢?

          質疑罪之六:XML只是用來打幌子
          xml的數據定義明確,使用簡單,為日后的維護提供了很大的方便。如果程序都都是采用你自己定義

          的數據格式,而且不同的數據可能還有不同的格式,那為日后的維護帶來了不便。
          其實,降低維護的成本比降低開發的成本更重要。不過當你隔個一兩年再回頭看你的代碼時,你可

          能也會一頭霧水, 更不要說接你手的人。所以說標準真的很重要,如果大家都按標準,這世界將會

          少很多麻煩。

          質疑罪之七:世界這么大卻找不到自己的家
          誰說ms反對ajax了?ms正在啟動一個新的項目Atlas:微軟的Ajax。可以說微軟對Ajax風格的日益流

          行的富客戶端應用于越來越感興趣。微軟的很多站點也使用了ajax這項技術,如Start.com和MSN虛

          擬地球。
          而在今年上半年Sun就計劃把ajax加入到J2EE中,從而實現更好的動態Web應用程序。
          ajax很大程度上來說只是一個客戶端技術,她完全可以與.net或j2EE相結合,做出很多單用.net或

          j2ee做不出的效果出來。

          總之Ajax是一種方法一種態度,如果你覺得你需要Ajax,Just do it;如果不需要,Let it  be

          posted @ 2006-03-09 13:38 幾木 閱讀(237) | 評論 (0)編輯 收藏

               摘要: 轉自:ibm開發者網站 Ajax 由 HTML、JavaScript? 技術、DHTML 和 DOM 組成,這一杰出的方法可以將笨拙的 Web 界面轉化成交互性的 Ajax 應用程序。本文的作者是一位 Ajax 專家,他演示了這些技術如何協同工作 —— 從總體概述到細節的討論 —— 使高效的 Web 開發成為現實。他還揭開了 Ajax 核心概念的神秘面紗,包括 XMLHttpRequest 對象...  閱讀全文
          posted @ 2006-03-09 13:37 幾木 閱讀(266) | 評論 (0)編輯 收藏

          轉自:http://blog.csdn.net/thinkpadleo/archive/2006/01/13/578367.aspx

          Jesse James Garrett的那篇Ajax: A New Approach to Web Applications很多人一定看過,今天湊巧看見了中文版的。原文地址(英文):http://www.adaptivepath.com/publications/essays/archives/000385.php 譯文地址:http://info96.k12studio.com/~nio/comments.php?id=242_0_1_0_C
          posted @ 2006-03-09 13:34 幾木 閱讀(314) | 評論 (0)編輯 收藏

                  這段時間活得真不像個人,哎,天天都是兩三點才睡,白天又要上班,想的事情太多了吧,好累好累,更別說學習了,這段時間幾乎是沒有翻過書的,腦子里太多的雜念,一點心情都沒有,今天上班,終于挺不住了,早上9點上班,大概9點10分開始睡覺,睡到11點才起來,呵,我也不知道領導知不知道,不管了,我真的太累了,當我睡醒后我怎么覺得我的心麻木了,沒有之前那么痛了?原因我也不清楚,只是現在好想靜下心來,想想到底該做些什么,太累太累太累了,我不想再這么累了,我要自由我要飛。。。。。。。

          posted @ 2006-03-08 13:07 幾木 閱讀(199) | 評論 (0)編輯 收藏

          昨天晚上是一個很特殊的晚上,我從一個前輩那里知道了技術固然重要,但人不能缺少的還有人文化及人品,其實這些正是中國人需要的吧,至少我認為是這樣,全球有90%的人從小是受宗教啟蒙的,有10%的人是沒有接受過宗教啟蒙的,而中國人就在這10%之內,別人說中國人一個人是一條龍,一群人就是蟲,這不禁讓我反思,為什么?前輩告訴我,這是欲望及貪婪,中國的年青人太急功近利,他們把中國的文化都忘記了,身為中國人的我,我不得不承認我連中國的四大名著都沒有讀完,更別說理解了,中國最大的宗教佛教,中國還有孔子,老子等等,如果再追溯下去就應該說到中國的教育體系及教師的素質了,我們有些人可能一直都在抱怨,為什么不把抱怨的時間拿來做有意義的事了?

          我來說兩個故事吧:
          故事一:龜兔賽跑,只要是中國人,都應該知道這個故事吧,但又有多少人可以理解這其中的道理了?兔子很聰明,也跑得很快,但最后為什么輸給了笨笨的烏龜了?我不知道別人是怎么理解的,我想說說自己的看法,如果把人生看成一次賽跑,那兔子就是起跑時最快的,人們都會認為它肯定是最后的勝利者,這世上不乏有一些聰明的人,也正是因為這些人太聰明,所以他們常常會犯一些低級的錯誤,而烏龜就一笨蛋,它把自己認為是正確的路堅持走下去,中國人不是常常說堅持就是勝利嘛,難道這句話不是對這只笨蛋烏龜說的嗎?

          故事二:三個人拿著箱子過馬路有三種情況,第一個人拖著箱子過馬路,看見一個瞎老太太,他把箱子放在一邊,把瞎老太太扶過馬路,再跑回來拿箱子。第二個人拖著箱子過馬路,大搖大擺目無一切。第三個人拖著箱子過馬路,他把箱子放在馬路中間去戲弄瞎老太太。這個故事告訴我們什么?三個人,三種結果。三個人,三種文化。

          posted @ 2006-01-17 10:03 幾木 閱讀(493) | 評論 (0)編輯 收藏

          從小就是一個不愛學習的壞孩子,從高一掛紅燈掛到高三,大學上的也是三流的,當我大學畢業出了社會,我的人生觀改變了,我渴望知識,我想學習,雖然以前我已經失去了很多機會了,經過自己的努力現在一個程序員了,我是個不滿足的家伙,我喜歡更強,這是我的欲望,我把這種欲望解釋為貪婪,而我的朋友說這叫積極上進的心,我很樂意接受了他對欲望的詮釋,呵呵,有時想想還真累,特別是去國外的網站了解最新技術的時候,對于一個從小學英語就開始掛紅燈掛到大學畢業的家伙來說,呵,真的是有些勉強,真正意識到英文重要也是這段時間,因為想了解新技術,我付出了很多,但我的英語還是沒有很大的提高,所以,今年我要放棄一些愛的東西,如Hibernate,Spring,AOP,Tapestry,還有我親愛的JAVA,我有時間會常回來看你們的,但是今年最重要的是去考雅思或托福,我相信我的決定是正確的,學會該死的洋文會讓我學習到更多我熱愛的技術,現在工作了,,,不知道有多少時間學那該死又不得不學的洋文,說這么多的廢話主要是想發泄一下,可能我又站在了一個十字路口了,有點迷茫,算了,再迷茫也得有年度計劃的。

          第一,花一年時間去學洋文,直指雅思托福。
          第二,今年不管怎么樣都得去考個關于計算機的證了吧,雖然這種想法很迂腐,無奈中國的企業很需要。
          第三,將設計模式及JAVA編程思想看一遍。


          以上計劃歷時一年,計劃失敗的結果后我會抱著洋文資料站在華南第一峰跳入漓江之源,那時就再也不用學該死的洋文了,因為我會抱著它一起去死,哈哈。

          posted @ 2006-01-15 15:36 幾木 閱讀(443) | 評論 (2)編輯 收藏

          主站蜘蛛池模板: 思茅市| 密山市| 新余市| 石阡县| 格尔木市| 深圳市| 抚顺县| 广东省| 黔西县| 新竹县| 江阴市| 永城市| 汤阴县| 大埔县| 台前县| 漠河县| 冀州市| 台北县| 成都市| 鄄城县| 原平市| 温泉县| 弥渡县| 天等县| 兴安盟| 东方市| 桐乡市| 民丰县| 金乡县| 康平县| 峨眉山市| 江都市| 伊川县| 习水县| 托克逊县| 鱼台县| 潍坊市| 桂东县| 余庆县| 理塘县| 荔浦县|