麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Ajax:擁抱JSON,讓XML走開

2019-11-18 16:49:21
字體:
供稿:網(wǎng)友

  Ajax(Asynchronous javaScript and xml)說到底就是一種瀏覽器異步讀取服務(wù)器上XML內(nèi)容的技術(shù)。現(xiàn)在的技術(shù)凡是跟XML扯上關(guān)系,再加上個(gè)概念做幌子,就像金裝了一樣,拽得不行。門外 的人看得很是熱鬧,門里的人搖搖頭不外如是。XML呢,跨平臺(tái)的新潮語言?其實(shí)XML=TXT。XML只是符合很多規(guī)范的文本。它本身什么都不是,只是保 存字符的文件。而瀏覽器異步讀取的只是服務(wù)器上的文本內(nèi)容,所以在Ajax開發(fā)時(shí)完全不必拘泥于XML。[版權(quán)所有,www.jialing.net]

  JSON的來歷

  XML 的作用是格式化數(shù)據(jù)內(nèi)容。如果我們不用XML還有什么更好的方法嗎?這個(gè)答案是JSON。介紹JSON之前我先介紹一下Javascript這門腳本語 言。腳本語言自身有動(dòng)態(tài)執(zhí)行的天賦。即我們可以把想要執(zhí)行的語句放在字符串里,通過eval()這個(gè)動(dòng)態(tài)執(zhí)行函數(shù)來執(zhí)行。字符串里的內(nèi)容會(huì)像我們寫的腳本 一樣被執(zhí)行。

  示例1:

<HTML>
<HEAD>
 <TITLE>eval example 1</TITLE>
</HEAD>
<BODY>
 <script>
  str = "alert('hello')";
  eval(str);
 </script>
</BODY>
</HTML> 

  打開頁面會(huì)彈出hello窗口。

  我們可以在字符串中放任何腳本語句,包括聲明語句:

<HTML>
<HEAD>
<TITLE>eval example 2</TITLE>
</HEAD>
<BODY>
<script>
 define = "{name:'Michael',email:'17bity@Gmail.com'}";
 eval("data = "+define);
 alert("name:"+data.name);
 alert("email:"+data.email);
</script>
</BODY>
</HTML>

  如果我們?cè)诤笈_(tái)異步傳來的文本是JavaScript的聲明語句,那么不是一條eval方法就能解析了?對(duì)于解析復(fù)雜的XML,這樣的效率是多么大的提高啊!

  現(xiàn)在就來告訴你什么是JSON:JavaScript Object Notation。我更愿意把它翻譯為JavaScript對(duì)象聲明。比如要從后臺(tái)載入一些通訊錄的信息,如果寫成XML,如下:

<contact>
 <friend>
  <name>Michael</name>
  <email>[email protected]</email>
  <homepage>http://www.jialing.net</homepage>
 </friend>
 <friend>
  <name>John</name>
  <email>[email protected]</email>
  <homepage>http://www.john.com</homepage>
 </friend>
 <friend>
  <name>Peggy</name>
  <email>[email protected]</email>
  <homepage>http://www.peggy.com</homepage>
 </friend>
</contact>

  而寫成JSON呢:

[
{
 name:"Michael",
 email:"[email protected]",
 homepage:"[email protected]",
 homepage:"[email protected]",
 homepage:"}
]

  簡(jiǎn)單的不只是表達(dá)上,最重要的是可以丟棄讓人暈頭轉(zhuǎn)向的DOM解析了。因?yàn)橹灰螶avaScript的聲明規(guī)范,JavaScrip會(huì)自動(dòng)幫你解析好 的。Ajax中使用JSON的基本方法是前臺(tái)載入后臺(tái)聲明JavaScript對(duì)象的字符串,用eval方法來將它轉(zhuǎn)為實(shí)際的對(duì)象,最后通過 DHTML更新頁面信息。
  JSON的格式

  JSON的基本格式如下,圖片來自json.org:

  ·對(duì)象是屬性、值對(duì)的集合。一個(gè)對(duì)象的開始于"{",結(jié)束于"}"。每一個(gè)屬性名和值間用":"提示,屬性間用","分隔。

object.gif

  ·數(shù)組是有順序的值的集合。一個(gè)數(shù)組開始于"[",結(jié)束于"]",值之間用","分隔。

array.gif

  ·值可以是引號(hào)里的字符串、數(shù)字、true、false、null,也可以是對(duì)象或數(shù)組。這些結(jié)構(gòu)都能嵌套。

value.gif

  ·字符串的定義和C或Java基本一致。

string.gif

  ·數(shù)字的定義也和C或Java基本一致。

number.gif

  JSON VS XML

  ·可讀性

  JSON和XML的可讀性可謂不相上下,一邊是建議的語法,一邊是規(guī)范的標(biāo)簽形式,很難分出勝負(fù)。

  ·可擴(kuò)展性

  XML天生有很好的擴(kuò)展性,JSON當(dāng)然也有,沒有什么是XML能擴(kuò)展,JSON不能的。

  ·編碼難度

  XML有豐富的編碼工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的編碼明顯比XML容易許多,即使不借助工具也能寫出JSON的代碼,可是要寫好XML就不太容易了。

  ·解碼難度

  XML的解析得考慮子節(jié)點(diǎn)父節(jié)點(diǎn),讓人頭昏眼花,而JSON的解析難度幾乎為0。這一點(diǎn)XML輸?shù)恼媸菦]話說。

  ·流行度

  XML已經(jīng)被業(yè)界廣泛的使用,而JSON才剛剛開始,但是在Ajax這個(gè)特定的領(lǐng)域,未來的發(fā)展一定是XML讓位于JSON。到時(shí)Ajax應(yīng)該變成Ajaj(Asynchronous JavaScript and JSON)了。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产中文av在线 | 天天夜天天操 | 小情侣嗯啊哦视频www | 色污视频 | 国内精品伊人久久 | 午夜视频在线观 | 羞羞视频免费网站含羞草 | 亚洲成人午夜精品 | 国产精品久久在线观看 | 久久久资源网 | 9797色| 5xx免费看 | 精品国产91久久久久久 | 免费观看一区二区三区视频 | www.99re14.com| 黄视频免费在线 | 九九热九九 | 国产精彩视频在线 | 久久国产精品小视频 | 中国av免费在线观看 | 国产日韩成人 | 精品国产99久久久久久宅男i | 欧美日韩亚洲另类 | 视频一区二区视频 | 草久视频在线观看 | 在线播放黄色片 | 色淫湿视频 | 亚洲情av | 色av成人天堂桃色av | 久久恋| 视频二区国产 | 国产精品自拍av | 精品一区二区久久久久 | 成年人黄视频 | 亚洲国产美女视频 | av在线在线 | 羞羞的网站 | 国产瑟瑟视频 | 九九热九九 | 成人午夜视频免费 | 欧美精品久久久久久久久久 |