【问题标题】:Should I use JSON or AJAX for response data?我应该使用 JSON 还是 AJAX 作为响应数据?
【发布时间】:2010-11-03 15:09:06
【问题描述】:

为什么是 JSON?今天做了一些测试,无论是JSON,还是普通的AJAX请求的请求时间都是一样的。在“正常请求”中,我返回了完整的 text+html 标签,在 JSON 请求中,逻辑上我返回了“json 返回类型”,并使用客户端 JavaScript 创建了 HTML。

我不明白,为什么大型网站(Google Reader 等)甚至小型网站都使用 JSON?还是我不明白什么时候应该使用 JSON?

【问题讨论】:

标签: javascript jquery xml ajax json


【解决方案1】:

你可能有点困惑。

JSON 和 AJAX 不是非此即彼的选择。

JSON 和 XML 是一种选择。

JSON 和 AJAX 是不同的,并且在很大程度上是不相关的,虽然 AJAX 经常使用 JSON,但它可以很容易地使用 XML、HTML 或纯文本。

或者您指的是 AJAX (XML) 中的 X?如果是这样,JSON 的参数基本上是:

  • JSON 的负载比同等的 XML 更小;和
  • JSON 在 Javascript 中更容易处理(比较评估 JSON 对象与遍历 XML 片段)。

除此之外,这主要是个人喜好。

【讨论】:

  • 另外,如果你使用的是firebug,json也可以帮助你调试,因为你可以直接读取来回发送的数据
【解决方案2】:

JSON 只是一种数据交换格式。它描述了数据在传输过程中以何种方式表示。不能用 JSON 代替 Ajax。

Ajax 代表异步 JavaScript 和 XML,但在使用 JSON 时,您可以说您使用的是 AJAJ(异步 JavaScript 和 JSON)。

也许您正在考虑 jQuery 方法 $.getJSON() 和 $.get()?

不同之处在于 $.getJSON() 自动假定它是 JSON 数据,而 $.get() 只会以纯文本形式获取数据。

使用$.getJSON() 时,您还可以在域之间获取数据。

【讨论】:

  • 我喜欢认为 AJAX 代表异步 JavaScript 和 X,其中 X 是某种结束格式。
  • -1:JSON 根本没有描述以任何方式传输数据的方式。 JSON 描述了数据在传输时的表示方式。
  • (另外,关于“AJAJ”的部分完全是在转移注意力,因为在现实的历史上从来没有人使用过这个词。)
  • @Tomalak 你是绝对正确的,两年后发现很好:) 关于“AJAJ”,在使用 json 讨论异步 javascript 时,至少有 18 个问题确实包含“AJAJ”一词。
  • @alexn:这几乎不是现实。我可以看到三个与“AJAJ”相关的 Google 搜索结果,其中之一是 acronymfinder.com。我根本不使用“AJA*”;省事。无论如何,downvote 变成 upvote :)
猜你喜欢
  • 1970-01-01
  • 2016-01-12
  • 2019-05-16
  • 2011-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-01
  • 1970-01-01
相关资源
最近更新 更多