隨筆-348  評論-598  文章-0  trackbacks-0
          之前我也做過json方面的東西,不過都快忘掉了。轉(zhuǎn)篇文章,回憶一下。
          來源:http://www.aygfsteel.com/emu/archive/2007/05/14/117416.html
          感謝emu和大胃


          本來一直覺得這么基礎(chǔ)的功能是沒有什么好拿出來講的,今天和網(wǎng)友聊天發(fā)現(xiàn),由于缺乏對json的理解,很多人都還在繼續(xù)帶著自己的項目往ajax的方向進軍,而完全不知道有一個好得多的替代品。所以寫下這么個demo給大家參考:
          <HTML>
          <HEAD>
          <title>異步j(luò)son例子</title>
          <SCRIPT LANGUAGE="JavaScript">
          function test(){
              
          var s = document.createElement("SCRIPT");
              document.getElementsByTagName(
          "HEAD")[0].appendChild(s);
              s.src
          ="http://g2.qzone.qq.com/fcg-bin/cgi_emotion_list.fcg?uin=123456";
          }
          function visitCountCallBack(data){
              
          for(var i in data){
                  
          var e =document.getElementById(i);
                  
          if(e) e.innerHTML=data[i];
              }

          }
          </SCRIPT>
          </HEAD>
          <BODY>
          <button onclick="test()">test</button><BR>
          歷史訪問人數(shù):
          <span id="visitcount" style="color:#6600CC">點擊test按鈕獲取數(shù)據(jù)</span><BR>
          今天訪問人數(shù):
          <span id="dayvisit" style="color:#CC6633">點擊test按鈕獲取數(shù)據(jù)</span><BR>
          陽光指數(shù):
          <span id="sun" style="color:red">點擊test按鈕獲取數(shù)據(jù)</span><BR>
          愛心指數(shù):
          <span id="love" style="color:violet">點擊test按鈕獲取數(shù)據(jù)</span><BR>
          雨露指數(shù):
          <span id="rain" style="color:blue">點擊test按鈕獲取數(shù)據(jù)</span><BR>
          營養(yǎng)指數(shù):
          <span id="nutri" style="color:green">點擊test按鈕獲取數(shù)據(jù)</span><BR>
          花匠級別:
          <span id="gardener" style="color:#996633">點擊test按鈕獲取數(shù)據(jù)</span>
          </BODY>
          </HTML>

          這里請求的資源是
          返回的是類似這樣的一個js語句 :
          visitCountCallBack({"visitcount":1941,"dayvisit":4,"spacemark":0,"markchange":0,"sun":200,"love":14,"rain":200,"nutri":200,"level":4,"gardener":11});


          科普一下:
          相比xml,json的好處是:天生的跨瀏覽器(比如我的這個demo應(yīng)該可以跨所有支持dhtml的瀏覽器而不需要任何修改),客戶端解析代價(CPU和內(nèi)存)非常小,非單根結(jié)構(gòu)(xml是單根結(jié)構(gòu)),標記名只出現(xiàn)一次(xml的標記名在大多數(shù)情況下都需要出現(xiàn)兩次:<tag>...</tag>,因此浪費了很多流量)
          主要缺點是只支持get方式請求,另外跨編碼(json資源的編碼和引用頁面的編碼不同)的時候要做一些特殊處理。比如漢字可以預(yù)先escape。
          此外很多人并不知道json可以異步獲取,這個例子很重要的一點是展示了如何異步獲取json。

          ---------------------------------------------------------
          專注移動開發(fā)

          Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
          posted on 2007-05-15 13:12 TiGERTiAN 閱讀(884) 評論(3)  編輯  收藏 所屬分類: Ajax

          評論:
          # re: [轉(zhuǎn)]json的一個簡單例子 2007-05-15 22:21 | 大胃
          樓主不厚道,轉(zhuǎn)貼也不給出原帖地址,這樣相關(guān)討論也可以更集中些嘛。這是你的一畝三分地,我明白,至少也該對emu說聲謝謝吧.. 對他人的尊重就是對自己的尊重。

          http://www.aygfsteel.com/emu/archive/2007/05/14/117416.html

            回復(fù)  更多評論
            
          # re: [轉(zhuǎn)]json的一個簡單例子 2007-05-15 22:27 | TiGERTiAN
          恩,馬上補上,主要是給自己做備注的,沒有發(fā)布到其他板塊。。。下次不會了!  回復(fù)  更多評論
            
          # re: [轉(zhuǎn)]json的一個簡單例子 2008-11-24 18:08 | 11
          11111111111  回復(fù)  更多評論
            

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 桃源县| 南岸区| 沂源县| 松溪县| 榆树市| 平度市| 葫芦岛市| 天津市| 桂林市| 故城县| 喀喇沁旗| 诸城市| 大理市| 稻城县| 玛沁县| 东乌珠穆沁旗| 同德县| 贡觉县| 卫辉市| 开封市| 锡林浩特市| 封丘县| 伊春市| 隆化县| 客服| 洛南县| 拉萨市| 池州市| 交城县| 和静县| 全州县| 历史| 云安县| 伊川县| 巢湖市| 交口县| 绥化市| 宁波市| 龙州县| 桂林市| 东安县|