国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 长宁县| 麻城市| 门源| 巴林左旗| 江油市| 棋牌| 瑞昌市| 咸丰县| 禄劝| 海口市| 伊川县| 江陵县| 西丰县| 屯留县| 朔州市| 洛隆县| 辽阳市| 类乌齐县| 浦城县| 弥渡县| 芦山县| 花垣县| 榆树市| 五大连池市| 龙南县| 肃南| 长乐市| 贵港市| 锦屏县| 邹城市| 郸城县| 平利县| 龙南县| 新田县| 德清县| 海阳市| 澳门| 马公市| 开鲁县| 长子县| 慈溪市|