国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
博客園 - 簡單生活 - ajax學習筆記(2) - 一定要用xml嗎?

Ajax學習筆記(2) - 一定要用XML嗎?

Ajax一定要用XML嗎?我覺得不一定用。

不用XML的理由:
1. javascript腳本解析Xml比較慢;
2. 對于一些簡單數(shù)據(jù),用Xml有點大炮轟蚊子的感覺;
3. XmlHttp提供了responseText,就是給了大家不用Xml的方便;

不用Xml用什么?
可以采用技術(shù)很多,對于簡單數(shù)據(jù)你可以返回自定義的數(shù)據(jù)格式,比如,第1位是狀態(tài)位,第2位之后是數(shù)據(jù)。對于復(fù)雜數(shù)據(jù),你甚至可以直接返回javascript腳本,然后用eval執(zhí)行。

在最近寫的一個無刷新聊天程序中,我就使用了直接返回javascript腳本的方式,下面是自動獲取消息的部分代碼。

var xmlhttp=createXH();
function checkMsg(){
  xmlhttp.open(‘Get‘, ‘Message/CheckNew.aspx‘, true);
  xmlhttp.onreadystatechange=continueCheckMsg;
  xmlhttp.send(‘‘);
}

function continueCheckMsg(){
  if(xmlhttp.readyState==4){
    var rt=xmlhttp.responseText;
    if(rt!=‘‘){
      var msgs=eval(rt);
      // ... 接下來就是處理消息分發(fā)
    }
  }
  setTimeout(‘checkMsg()‘, 10000); // 每隔10秒刷新一次
}

說明:
1. rt=xmlhttp.responseText返回新消息的數(shù)據(jù),當沒有新消息時,返回空;當有新消息時(可以使多條),返回的內(nèi)容格式如下:
[[‘發(fā)送人1‘,‘發(fā)送時間1‘,‘消息內(nèi)容1‘], [‘發(fā)送人2‘,‘發(fā)送時間2‘,‘消息內(nèi)容2‘], ...]
2. 通過var msgs=eval(rt)后,msgs就是存放了n條消息的二維數(shù)組,然后按二維數(shù)組的方式處理就可以了;

最后,收集了一篇比較有用的文章,里面對使用Xml有詳細介紹:
http://www.dragonson.com/doc/ajax.html

posted on 2005-08-21 12:38 簡單生活 閱讀(243) 評論(7)  編輯 收藏 收藏至365Key 所屬分類: .Net

評論

# re: Ajax學習筆記(2) - 一定要用XML嗎? 2005-08-21 14:13 ocean

我不建議這樣,如果數(shù)據(jù)簡單,js解析xml再慢也慢不到什么地方。xml的數(shù)據(jù)定義明確,使用簡單,為日后的維護提供了很大的方便。如果程序都都是采用你自己定義的數(shù)據(jù)格式,而且不同的數(shù)據(jù)可能還有不同的格式,那為日后的維護帶來了不便。   

# re: Ajax學習筆記(2) - 一定要用XML嗎? 2005-08-21 15:02 簡單生活

你說的可維護性有道理,但xml文本的體積也比自定義格式的體積大(多出的那部分就是用來進行數(shù)據(jù)定義了)。
而采用Ajax的目的就是減少網(wǎng)絡(luò)傳輸,提高速度,所以我才覺得應(yīng)該盡量減少不必要的字節(jié)。
另外如果用Xml方式的話,再想兼顧不同的瀏覽器就很難了。   

# re: Ajax學習筆記(2) - 一定要用XML嗎? 2005-08-21 15:06 NickYao

我也比較同意OCEAN的觀點~~~
我現(xiàn)在越來越覺得降低維護的成本比降低開發(fā)的成本更重要。
個性化的數(shù)據(jù)格式,你現(xiàn)在在開發(fā)的時候當然很清楚。
不過當你隔個一兩年再回頭看你的代碼時,你可能也會一頭霧水,
更不要說接你手的人拉。
所以說標準真的很重要,如果大家都按標準,這世界將會少很多麻煩。   

# re: Ajax學習筆記(2) - 一定要用XML嗎? 2005-08-21 15:34 NickYao

沒錯,AJAX的目的是要減少網(wǎng)絡(luò)傳輸~~
不必每個請求都重新下載整個頁面,只下載需要更新的部分數(shù)據(jù),以提高響應(yīng)速度。
但我認為每次需要更新的那部分數(shù)據(jù)本來就應(yīng)該不大,因此采用XML格式的話,也不會
比你自定義的數(shù)據(jù)格式大多少。
如果你一次要更新很大的數(shù)據(jù)的話,我覺得應(yīng)該用別的方法來解決。
因為如果數(shù)據(jù)量太大,你用自定義格式也沒多大幫助。

還有XML不是每個瀏覽器都支持的嗎,為什么兼顧起來會很難呢?

我也是剛學習AJAX,有很多東西不懂,說得不對的地方請多多指教。
  

# re: Ajax學習筆記(2) - 一定要用XML嗎? 2005-08-21 22:19 簡單生活

從理論上來說,很多瀏覽器都支持XML,但實際使用上,總是會遇到不少兼容性方面的問題。 每次為了這些兼容性,總要花費我不少時間,可能是我對這方面知識了解太少了,所以就想避開這個問題,找個簡單一點的方式好上手:)   

# re: Ajax學習筆記(2) - 一定要用XML嗎? 2005-08-21 23:39 birdshome

http://www.cnblogs.com/birdshome/archive/2005/03/24/123046.html

不過需要注意自己做特殊字符的轉(zhuǎn)換,比如: \r \n ‘ "等。   

# re: Ajax學習筆記(2) - 一定要用XML嗎? 2005-08-22 02:13 春魚

真奇怪,你的問題從何而來? 就單純的 AJAX 的應(yīng)用,和XML沒有什么“一定”的關(guān)系。

更奇怪的是,很多朋友一直在嚷,AJAX 很 OK 啊,很熱啊,學習啊。AJAX 很好,AJAX 只是 AJAX,不是什么高深莫測的東西。AJAX不是天書。AJAX不是需要流血革命。

大家應(yīng)該務(wù)實一些,多寫一些工程實踐的、有參考價值的東西。  

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Thinking in AJAX(一) —— AJAX - X
Ajax第一階段學習
原生JavaScript手寫Ajax
第 2 部分 使用 JavaScript 和 Ajax 發(fā)出異步請求(3)
AJAX - 服務(wù)器響應(yīng)
第19章 AJAX技術(shù)-參考題
更多類似文章 >>
生活服務(wù)
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服