国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > AJAX > 正文

Ajax中數(shù)據(jù)傳遞的另一種模式:JSON

2024-09-01 08:15:06
字體:
供稿:網(wǎng)友
Ajax是“異步javascript和XML”的縮寫已經(jīng)眾所周知,然而雖然XML是看上去的重要 組成部分,它卻不是必須的。今天看到一篇國外Blog提到JSON的說法,全稱是javascript Object Notation,意思是直接使用Ajax對象來傳遞信息,可以讀作“Jason”。在這里我就簡單的介紹一下,JSON概念很簡單,就是服務器直接生成javascript語句,客戶端獲取后直接用eval方法來獲得這個對象,這樣就可以省去解析XML的性能損失。比如傳遞Blog評論的示例:
使用XML表示:
<comments>
 <comment>
  <id>1</id>
  <author>someone1</author>
  <url>http://someone1.x2design.net</url>
  <content>hello</content>
 </comment>
 <comment>
  <id>2</id>
  <author>someone2</author>
  <url>http://someone2.x2design.net</url>
  <content>someone1</content>
 </comment>
 <comment>
  <id>3</id>
  <author>someone3</author>
  <url>http://someone3.x2design.net</url>
  <content>hello</content>
 </comment>
</comments>

使用JSON:
{comments:[
 {
  id:1,
  author:"someone1",
  url:"http://someone1.x2design.net",
  content:"hello"
 },
 {
  id:2,
  author:"someone2",
  url:"http://someone2.x2design.net",
  content:"hello"
 },
 {
  id:3,
  author:"someone3",
  url:"http://someone3.x2design.net",
  content:"hello"
 }
]};

很容易發(fā)現(xiàn),使用JSON不僅減少了解析XML解析帶來的性能問題和兼容性問題,而且對于javascript來說非常容易使用,可以方便的通過遍歷數(shù)組以及訪問對象屬性來獲取數(shù)據(jù),其可讀性也不錯,基本具備了結(jié)構化數(shù)據(jù)的性質(zhì)。不得不說是一個很好的辦法,而且事實上google maps就沒有采用XML傳遞數(shù)據(jù),而是采用了JSON方案。

JSON的另外一個優(yōu)勢是跨域可行性,例如你在www.xxx.com的網(wǎng)頁里使用<script type="text/javascript" src="http://www.yyy.com/some.js"></script>是完全可行的,這就意味著你可以跨域傳遞信息。而使用XMLHttpRequest卻獲取不了跨域的信息,這是javascript內(nèi)部的安全性質(zhì)所限制的。

JSON看上去很美,是不是就能完全取代XML呢?事實并非如此,而原因就在于XML的優(yōu)勢:通用性。要使服務器端產(chǎn)生語法合格的javascript代碼并不是很容易做到的,這主要發(fā)生在比較龐大的系統(tǒng),服務器端和客戶端有不同的開發(fā)人員。它們必須協(xié)商對象的格式,這很容易造成錯誤。

無論如何,JSON是一個誘人的技術,準備在X2Blog做一個大量的試用。希望屆時可以獲取大的性能提高。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 新宁县| 峨山| 迁西县| 东海县| 临漳县| 吉安市| 沽源县| 顺义区| 波密县| 库伦旗| 顺平县| 长春市| 井冈山市| 华坪县| 西乌| 大英县| 旬邑县| 池州市| 武冈市| 岳西县| 安达市| 祁连县| 隆林| 海南省| 伊川县| 临漳县| 保亭| 德钦县| 天镇县| 紫阳县| 磴口县| 台中县| 华安县| 静乐县| 辛集市| 沁阳市| 措美县| 巨鹿县| 汉源县| 天等县| 佳木斯市|