Building Block

          隨風(fēng)飄過(guò)的日子 - 我們漸漸成長(zhǎng)

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            9 隨筆 :: 4 文章 :: 2 評(píng)論 :: 0 Trackbacks

          2006年1月17日 #

          轉(zhuǎn)自:http://blog.csdn.net/thinkpadleo/archive/2006/01/13/578182.aspx

          本文來(lái)源網(wǎng)絡(luò),屬于轉(zhuǎn)載范圍,,特此聲明

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

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

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

           

          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這個(gè)函數(shù),那當(dāng)然得實(shí)現(xiàn)定義后并裝載到頁(yè)面中啦。XMLHttp這個(gè)名字以XML開(kāi)頭,讓很多人禁錮了思想和創(chuàng)意,完全拋棄X,你也可以做出純AJAX的實(shí)例來(lái)。

           

          當(dāng)然,對(duì)于大型系統(tǒng)來(lái)講,為了保持?jǐn)?shù)據(jù)接口的一致和整齊,還是用XML來(lái)傳遞更嚴(yán)謹(jǐn)更統(tǒng)一點(diǎn),聽(tīng)說(shuō)微軟已經(jīng)發(fā)起了重寫(xiě)XML Parse組件的號(hào)召,估計(jì)下一個(gè)版本的XMLHttp還是DOMParser還是MSXML2.DOMDocument都會(huì)大大提高效率,減少資源占用的。

          ajax版簡(jiǎn)易聊天室介紹及源碼下載

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

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

          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簡(jiǎn)介(轉(zhuǎn)自http://dev2dev.bea.com.cn,包含例程下載)

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

          Ajax原理詳細(xì)說(shuō)明(轉(zhuǎn)自ibm開(kāi)發(fā)者網(wǎng)站)

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

           Atlas—微軟的Ajax工具包(轉(zhuǎn)自it專家web服務(wù))

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

          轉(zhuǎn)自:http://blog.csdn.net/quailzhang/archive/2005/09/16/482415.aspx

          本人雖接觸ajax不久,但對(duì)AJAX的七宗罪很是質(zhì)疑:
          質(zhì)疑罪之一:對(duì)搜索引擎的支持不好
          的確ajax技術(shù)讓頁(yè)面沒(méi)有鏈接,難以讓搜索引擎搜索。但是進(jìn)步的技術(shù)能帶動(dòng)其他相對(duì)“落后”的

          技術(shù)。想想當(dāng)年互聯(lián)網(wǎng)從html靜態(tài)頁(yè)面過(guò)渡到asp/jsp/php動(dòng)態(tài)網(wǎng)頁(yè)的時(shí)候,搜索引擎也經(jīng)過(guò)了一個(gè)

          適應(yīng)階段。幾年前做web的時(shí)候,還有文章說(shuō)動(dòng)態(tài)頁(yè)面不容易被google發(fā)現(xiàn),現(xiàn)在還有誰(shuí)敢說(shuō)google

          對(duì)動(dòng)態(tài)網(wǎng)頁(yè)支持不好?只有新技術(shù)促進(jìn)搜索引擎的發(fā)展,而不是新技術(shù)去適應(yīng)搜索引擎!

          質(zhì)疑罪之二:編寫(xiě)復(fù)雜、容易出錯(cuò)
          有很多公司已經(jīng)有了自己的一套庫(kù),比如說(shuō)backbase,bindows他們都有一整套完整的開(kāi)發(fā)模式,如

          果你認(rèn)為不好調(diào)試的話,你用用backbase的那套庫(kù)試試,里面有非常完善的調(diào)試以及出錯(cuò)信息顯示


          最近微軟正致力于簡(jiǎn)化Ajax風(fēng)格Web應(yīng)用的開(kāi)發(fā),并提供豐富的、可交互的和個(gè)性化的用戶體驗(yàn)。開(kāi)

          發(fā)者可以對(duì)客戶端腳本不甚了解;但他們可以很容易地開(kāi)發(fā)和調(diào)試這種應(yīng)用程序。


          質(zhì)疑罪之三:冗余代碼更多了
          ajax的一個(gè)優(yōu)點(diǎn)就是根據(jù)需要向服務(wù)器端發(fā)送請(qǐng)求,用什么就取什么、用多少就取多少,根本不會(huì)

          有數(shù)據(jù)的冗余和浪費(fèi),而且更新頁(yè)面時(shí)不用重載全部?jī)?nèi)容,只更新需要更新的那部分即可。而且

          ajax的一個(gè)最大的優(yōu)點(diǎn)就是異步傳輸(Asynchronous),她可以讓你在無(wú)刷新的基礎(chǔ)之上一邊看文

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

          質(zhì)疑罪之四:破壞了Web的原有標(biāo)準(zhǔn)
          Web標(biāo)準(zhǔn)應(yīng)該往前發(fā)展,既然web已經(jīng)不是單純的信息網(wǎng)絡(luò),而是更高級(jí)系統(tǒng)應(yīng)用的媒介,那么理應(yīng)

          有更為先進(jìn)的標(biāo)準(zhǔn)。事實(shí)上web的標(biāo)準(zhǔn)也在不斷的改進(jìn)中。用舊有的標(biāo)準(zhǔn)桎梏新生技術(shù),未免就殘忍

          了一些。

          質(zhì)疑罪之五:缺少一個(gè)沒(méi)有標(biāo)準(zhǔn)之爭(zhēng)、沒(méi)有back和history的瀏覽器
          現(xiàn)在瀏覽器之間的差異的確存在,的確讓程序員很苦惱,但是這不是ajax引起的,這是瀏覽器自己

          的問(wèn)題,比如說(shuō)IE對(duì)ajax支持得不是太好,但是最近微軟剛發(fā)表過(guò)聲明說(shuō):今后的IE中將擁有Ajax的

          所有東西——DHTML、JScript和XmlHttp。可見(jiàn)IE正在適應(yīng)ajax!
          還有,他提出了“那兩個(gè)網(wǎng)站除了酷酷的感覺(jué),毫無(wú)用處”,網(wǎng)站有沒(méi)有用跟網(wǎng)站所用的技術(shù)有關(guān)

          嗎?換個(gè)角度,那你說(shuō)google map 和gmail有沒(méi)有用呢?

          質(zhì)疑罪之六:XML只是用來(lái)打幌子
          xml的數(shù)據(jù)定義明確,使用簡(jiǎn)單,為日后的維護(hù)提供了很大的方便。如果程序都都是采用你自己定義

          的數(shù)據(jù)格式,而且不同的數(shù)據(jù)可能還有不同的格式,那為日后的維護(hù)帶來(lái)了不便。
          其實(shí),降低維護(hù)的成本比降低開(kāi)發(fā)的成本更重要。不過(guò)當(dāng)你隔個(gè)一兩年再回頭看你的代碼時(shí),你可

          能也會(huì)一頭霧水, 更不要說(shuō)接你手的人。所以說(shuō)標(biāo)準(zhǔn)真的很重要,如果大家都按標(biāo)準(zhǔn),這世界將會(huì)

          少很多麻煩。

          質(zhì)疑罪之七:世界這么大卻找不到自己的家
          誰(shuí)說(shuō)ms反對(duì)ajax了?ms正在啟動(dòng)一個(gè)新的項(xiàng)目Atlas:微軟的Ajax。可以說(shuō)微軟對(duì)Ajax風(fēng)格的日益流

          行的富客戶端應(yīng)用于越來(lái)越感興趣。微軟的很多站點(diǎn)也使用了ajax這項(xiàng)技術(shù),如Start.com和MSN虛

          擬地球。
          而在今年上半年Sun就計(jì)劃把a(bǔ)jax加入到J2EE中,從而實(shí)現(xiàn)更好的動(dòng)態(tài)Web應(yīng)用程序。
          ajax很大程度上來(lái)說(shuō)只是一個(gè)客戶端技術(shù),她完全可以與.net或j2EE相結(jié)合,做出很多單用.net或

          j2ee做不出的效果出來(lái)。

          總之Ajax是一種方法一種態(tài)度,如果你覺(jué)得你需要Ajax,Just do it;如果不需要,Let it  be

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

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

          轉(zhuǎn)自:http://blog.csdn.net/thinkpadleo/archive/2006/01/13/578367.aspx

          Jesse James Garrett的那篇Ajax: A New Approach to Web Applications很多人一定看過(guò),今天湊巧看見(jiàn)了中文版的。原文地址(英文):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) | 評(píng)論 (0)編輯 收藏

                  這段時(shí)間活得真不像個(gè)人,哎,天天都是兩三點(diǎn)才睡,白天又要上班,想的事情太多了吧,好累好累,更別說(shuō)學(xué)習(xí)了,這段時(shí)間幾乎是沒(méi)有翻過(guò)書(shū)的,腦子里太多的雜念,一點(diǎn)心情都沒(méi)有,今天上班,終于挺不住了,早上9點(diǎn)上班,大概9點(diǎn)10分開(kāi)始睡覺(jué),睡到11點(diǎn)才起來(lái),呵,我也不知道領(lǐng)導(dǎo)知不知道,不管了,我真的太累了,當(dāng)我睡醒后我怎么覺(jué)得我的心麻木了,沒(méi)有之前那么痛了?原因我也不清楚,只是現(xiàn)在好想靜下心來(lái),想想到底該做些什么,太累太累太累了,我不想再這么累了,我要自由我要飛。。。。。。。

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

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

          我來(lái)說(shuō)兩個(gè)故事吧:
          故事一:龜兔賽跑,只要是中國(guó)人,都應(yīng)該知道這個(gè)故事吧,但又有多少人可以理解這其中的道理了?兔子很聰明,也跑得很快,但最后為什么輸給了笨笨的烏龜了?我不知道別人是怎么理解的,我想說(shuō)說(shuō)自己的看法,如果把人生看成一次賽跑,那兔子就是起跑時(shí)最快的,人們都會(huì)認(rèn)為它肯定是最后的勝利者,這世上不乏有一些聰明的人,也正是因?yàn)檫@些人太聰明,所以他們常常會(huì)犯一些低級(jí)的錯(cuò)誤,而烏龜就一笨蛋,它把自己認(rèn)為是正確的路堅(jiān)持走下去,中國(guó)人不是常常說(shuō)堅(jiān)持就是勝利嘛,難道這句話不是對(duì)這只笨蛋烏龜說(shuō)的嗎?

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

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

          主站蜘蛛池模板: 靖宇县| 紫阳县| 武川县| 忻城县| 开鲁县| 噶尔县| 定安县| 黑河市| 无为县| 连州市| 合作市| 板桥市| 内丘县| 阿巴嘎旗| 福州市| 阿拉善左旗| 锦州市| 景泰县| 定西市| 武冈市| 石狮市| 喀什市| 葵青区| 万年县| 巴里| 简阳市| 聂荣县| 建昌县| 普安县| 新河县| 信丰县| 永仁县| 铜鼓县| 阳新县| 称多县| 葵青区| 塔城市| 嘉峪关市| 阜新市| 安阳县| 寻乌县|