2009-06-17 104 views
7

爲什麼選擇JSON?我今天做了一些測試,並且JSON或普通AJAX請求的請求時間都是相同的。在「正常請求」中,我已經返回了完整的文本+ html標記,在JSON請求中,邏輯上我返回了「json返回類型」,並使用客戶端JavaScript創建了HTML。我應該使用JSON還是AJAX作爲響應數據?

我不明白,爲什麼是使用JSON大網站(谷歌閱讀器等),甚至是小網站?或者我不明白什麼時候應該使用JSON?

+0

請參閱[何時使用Ajax vs Json for JavaScript事件?](http://stackoverflow.com/questions/939211/when-to-use-ajax-vs-json-for-javascript-events)幾乎類似。 – Kirtan 2009-06-17 11:10:34

回答

41

你可能有點困惑。

JSON和AJAX不是一個二選一的選擇。

JSON和XML是一種選擇。

JSON和AJAX是不同的,基本上無關係,雖然AJAX經常使用JSON,它可以只輕鬆地使用XML,HTML或純文本。

或者您是指AJAX(XML)中的X?如果是這樣,JSON的參數基本上是:

  • JSON的有效負載比等效的XML小;和
  • JSON在Javascript中更容易處理(比較評估JSON對象和XML片段)。

除此之外,它在很大程度上是個人喜好。

+1

除此之外,如果您使用的是螢火蟲,json也可以幫助您進行調試,因爲您可以直接讀取直接來回發送的數據 – 2009-06-17 14:51:54

+0

http://izlooite.blogspot.com/2010/05/ajax-or-ajax-xml -vs-json.html – 2010-09-16 10:23:10

13

JSON只是一種數據交換格式。它描述了數據在傳輸過程中以何種方式表示。你不能用JSON替換Ajax。

的Ajax代表異步JavaScript和XML,但使用JSON時,你可以說,你正在使用AJAJ(異步JavaScript和JSON)。

也許你所想的jQuery方法$.getJSON()$.get()

區別在於$.getJSON()自動假定它是JSON數據,而$.get()只會以純文本格式提取數據。

當使用$.getJSON()你也可以域之間獲取數據。

相關問題