2009-06-17 202 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()你也可以域之间获取数据。

相关问题