<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ☆藍色夢想☆

    世界總是反反覆覆錯錯落落地飄去 來不及嘆息 生活不是平平淡淡從從容容的東西 不能放棄
    posts - 57, comments - 5, trackbacks - 0, articles - 0

    Thinking in AJAX(一)

    Posted on 2005-12-08 15:09 ☆藍色夢想☆ 閱讀(294) 評論(0)  編輯  收藏 所屬分類: AJAX

    眾所周知,異步交互、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都會大大提高效率,減少資源占用的。

    主站蜘蛛池模板: 免费黄色网址网站| 热re99久久6国产精品免费| 亚洲精品蜜桃久久久久久| 蜜桃传媒一区二区亚洲AV | 香港a毛片免费观看 | 亚洲国产日韩在线成人蜜芽 | 亚洲丰满熟女一区二区v| 亚洲免费在线视频观看| 亚洲男人天堂2022| 成人免费无码大片A毛片抽搐色欲 成人免费无码大片a毛片 | 亚洲色大成网站www永久男同| 免费人成视频在线| 美女尿口扒开图片免费| 综合亚洲伊人午夜网| 日韩电影免费在线观看中文字幕| 亚洲人成依人成综合网| 成人福利免费视频| 亚洲av乱码一区二区三区按摩| 国产男女猛烈无遮档免费视频网站| 男女猛烈激情xx00免费视频| 伊人久久大香线蕉亚洲| 真实国产乱子伦精品免费| 亚洲人成网站18禁止| 国产精品亚洲高清一区二区| 香蕉免费一区二区三区| 国产色在线|亚洲| 亚洲精品亚洲人成在线观看下载| a毛片免费在线观看| 亚洲熟妇无码久久精品| 亚洲?V无码乱码国产精品| a级毛片100部免费观看| 亚洲熟妇无码八V在线播放| 亚洲人成无码网站久久99热国产| 最近2019免费中文字幕6| 亚洲AV日韩综合一区| 国产AV无码专区亚洲AV毛网站| 100000免费啪啪18免进| 四虎精品成人免费视频| 亚洲精品中文字幕乱码| 亚洲国产精品专区在线观看| 59pao成国产成视频永久免费|