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

首頁 > 開發 > AJAX > 正文

ajax:擁抱json,讓xml走開_ajax教程

2024-09-01 08:34:04
字體:
來源:轉載
供稿:網友

  Ajax(Asynchronous JavaScript and XML)說到底就是一種瀏覽器異步讀取服務器上XML內容的技術。目前的技術凡是跟XML扯上關系,再加上個概念做幌子,就像金裝了相同,拽得不行。門外 的人看得非常是熱鬧,門里的人搖搖頭不外如是。XML呢,跨平臺的新潮語言?其實XML=TXT。XML只是符合非常多規范的文本。他本身什么都不是,只是保 存字符的文件。而瀏覽器異步讀取的只是服務器上的文本內容,所以在Ajax研發時完全不必拘泥于XML。[版權所有,www.jialing.net]

  JSON的來歷

  XML 的作用是格式化數據內容。如果我們不用XML更有什么更好的方法嗎?這個答案是JSON。介紹JSON之前我先介紹一下JavaScript這門腳本語 言。腳本語言自身有動態執行的天賦。即我們能把想要執行的語句放在字符串里,通過eval()這個動態執行函數來執行。字符串里的內容會像我們寫的腳本 相同被執行。

  示例1:

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

  打開頁面會彈出hello窗口。

  我們能在字符串中放所有腳本語句,包括聲明語句:

<HTML>
<HEAD>
<TITLE>eval example 2</TITLE>
</HEAD>
<BODY>
<script>
 define = "{name:Michael,email:[email protected]}";
 eval("data = "+define);
 alert("name:"+data.name);
 alert("email:"+data.email);
</script>
</BODY>
</HTML>

  如果我們在后臺異步傳來的文本是JavaScript的聲明語句,那么不是一條eval方法就能解析了?對于解析復雜的XML,這樣的效率是多么大的提高啊!

  目前就來告訴你什么是JSON:JavaScript Object Notation。我更愿意把他翻譯為JavaScript對象聲明。比如要從后臺載入一些通訊錄的信息,如果寫成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:"http://www.jialing.net"
},
{
 name:"John",
 email:"[email protected]",
 homepage:"http://www.jobn.com"
},
{
 name:"Peggy",
 email:"[email protected]",
 homepage:"http://www.peggy.com"
}
]

  簡單的不只是表達上,最重要的是能丟棄讓人暈頭轉向的DOM解析了。因為只要符合JavaScript的聲明規范,JavaScrip會自動幫你解析好 的。Ajax中使用JSON的基本方法是前臺載入后臺聲明JavaScript對象的字符串,用eval方法來將他轉為實際的對象,最后通過 DHTML更新頁面信息。
  JSON的格式

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

  ?對象是屬性、值對的集合。一個對象的開始于"{",結束于"}"。每一個屬性名和值間用":"提示,屬性間用","分隔。

object.gif

  ?數組是有順序的值的集合。一個數組開始于"[",結束于"]",值之間用","分隔。

array.gif

  ?值能是引號里的字符串、數字、true、false、null,也能是對象或數組。這些結構都能嵌套。

value.gif

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

string.gif

  ?數字的定義也和C或Java基本一致。

number.gif

  JSON VS XML

  ?可讀性

  JSON和XML的可讀性可謂不相上下,一邊是建議的語法,一邊是規范的標簽形式,非常難分出勝負。

  ?可擴展性

  XML天生有非常好的擴展性,JSON當然也有,沒有什么是XML能擴展,JSON不能的。

  ?編碼難度

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

  ?解碼難度

  XML的解析得考慮子節點父節點,讓人頭昏眼花,而JSON的解析難度幾乎為0。這一點XML輸的真是沒話說。

  ?流行度

  XML已被業界廣泛的使用,而JSON才剛剛開始,不過在Ajax這個特定的領域,未來的發展一定是XML讓位于JSON。到時Ajax應該變成Ajaj(Asynchronous JavaScript and JSON)了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产人成精品一区二区三 | 久久久一区二区三区四区 | 97久久精品一区二区三区观看 | 黄色大片在线观看 | 欧美a∨亚洲欧美亚洲 | 韩国三级日本三级香港三级黄 | 国产91av视频| www.热| www.9191.com| 久久久久久久久久美女 | av黄色在线免费观看 | 欧美a∨一区二区三区久久黄 | 中文字幕22页 | 在线看毛片的网站 | 在线观看中文字幕av | 男女羞羞视频在线免费观看 | 国产成人精品免费视频大全办公室 | 91av大片 | 国产妞干网 | 国产精品视频在线观看免费 | 欧美日韩在线影院 | 在线播放中文 | 圆产精品久久久久久久久久久 | 国产精品成人一区二区三区电影毛片 | 成人毛片网 | 欧洲黄视频 | 免费观看一级黄色片 | 精品一区二区久久久久久久网精 | 激情小视频在线观看 | 做爰xxxⅹ性护士hd在线 | 黄色毛片视频在线观看 | 高清av免费 | 国产一级毛片高清视频完整版 | 久久艹综合 | 国产一区二区三区在线免费观看 | 大号bbwassbigav头交 | 亚洲欧美成aⅴ人在线观看 av免费在线播放 | 免费黄色欧美视频 | 久草在线高清视频 | 欧美视频在线一区二区三区 | 欧美一级精品 |