Building Block

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

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

          2006年3月9日 #

          轉自: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)編輯 收藏

          2006年3月8日 #

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

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

          僅列出標題  下一頁
          主站蜘蛛池模板: 县级市| 合作市| 井陉县| 平江县| 邵阳市| 运城市| 平舆县| 加查县| 中超| 逊克县| 肥西县| 岳西县| 宁都县| 开平市| 天等县| 沐川县| 罗定市| 滨海县| 额济纳旗| 乐东| 板桥市| 永兴县| 土默特左旗| 温州市| 蓝田县| 庆元县| 西乌| 巨野县| 同心县| 福州市| 威信县| 柏乡县| 垫江县| 太白县| 新民市| 富阳市| 昌邑市| 荔浦县| 兴业县| 随州市| 怀集县|