DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX基礎知識 >> Ajax:擁抱JSON,讓XML走開
Ajax:擁抱JSON,讓XML走開
編輯:AJAX基礎知識     
版權所有,轉載請注明,來自www.jialing.net

    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呢: