阿贾克斯实际上意味着异步Javascript和XML。这个术语来源,因为(正如我知道的故事)的第一个人是谁开始这个过程中传送数据服务器向客户通过XML。最近(及曾经因为我已经开始使用它实际上),JSON已经存在,似乎是一个真正的替代XML。从我的(可能是微薄的)试验和经验,JSON小,更容易,更好地用于发送的数据。

所以我的问题是这个:你使用的交谈,并从server/client(可能还有为什么)?或是什么"最佳做法",你听说过的(并为什么)?

谢谢!

有帮助吗?

解决方案

JSON与XML似乎是一个正在进行的辩论 - 我宁愿用JSON去,因为它是针对电力混搭和AJAX部件,因为它本质上是序列化的JavaScript对象(因而容易Javascript功能来使用Web服务更适合)。

您可以找到JSON的优点和缺点在 JSON一些广泛的比较和XML或XML的格式选择哪一个? Ajax响应:XML,HTML,或JSON

其他提示

我们一般喜欢xml因为它具有一些优势JSON,如:

  • Xml可以验证同时json没有校验
  • 没有名字空间的关系图来描述软件所需的依赖
  • Xml可以扩展不同json
  • Json通常认为不安全

另一方面json本身有其优点:

  • Json是简单
  • 很容易过程中对客户的侧
  • 调试可以是一件轻而易举的当事情出了错

在结束这取决于你想制定的,为的数据面向我的东西 喜欢手机中。

哪一个是最好使用是application /要求特定的。在浏览器端JSON是更好的选择,而对XML文件的服务器端是更好的选择。使用合适的工作合适的工具。 JSON更趋向数据,而XML更趋向文件。 JSON是原生浏览器的Javascript代码支持。

有关该交更多和详细信息,请参阅具有与实施例的每一个更漂亮的比较的链路。 http://codebucket.co.in/which-one-is-better-xml -or-JSON /

我更喜欢使用JSON时可能:

  1. 它已经作为一个Javascript对象,因此,所有你需要做的呼eval()上它抓住它的所有数据。
  2. JSON Javascript,所以很快神交人已经知道JS,但没有错综复杂的XML下来。
  3. 在浏览器,你不需要经过痛苦的分析XML对象。(你还没有建立一个服务器上,但你必须创建id反正。)
  4. 这是一个更加紧凑的方法传输数据。

我倾向于对JSON徘徊无论可能这些天。这当然与客户端编码结合感觉更轻的重量和更“自然”。

安全最佳实践:从不盲目的eval JSON没有接收到的字符串,你可以执行任意代码有人“摆”到JSON字符串进行检查

道格拉斯Crockford的写了良好设置的安全原则使用JSON工作时。

当我看到术语AJAX

我总是微笑。我微笑,因为我第一次使用很久以前甚至XMLHTTP存在,更不用说AJAX相同的技术开始。

我们做了在IE上的Intranet应用同样的事情,AJAX,但使用VBScript和Java小程序,而不是XMLHTTP的。我们使用类似JSON东西,但在VBScript语法。

在理论上XML会很快好因为验证和什么不可以。在实践中,你不能验证客户侧对DTD或架构合理的(或者在大多数情况下,在所有)。试试吧你会看到的。

XML还遭受其详细程度和消费客户的侧面。除非你打算使用XSLT或东西,直接消费的收包,你要砍数据与DOM样做。

最后XML不合理的看着直到它完成(client-side至少)所以你不能这样做局部检查。虽然可以公平JSON将有挑战的存在,以及取决于它是如何构成的。

鉴于环境的消耗量(JavaScript大多)JSON具有明显的腿。有一个大规模讨论的这一选择加上其他的事情像其、CSV base64编码数据、HTML片段,等等。在第4章的Ajax:完整的参考(http://ajaxref.com)它只是对数据的类型。实例证明反驳了便于处理特别是在较小的已知情况。如果我必须选择一个JSON将它但坦率地说,对于某些用途的Ajax小HTML片段(因为它是一巴掌去)的方式来做到这一点。

您也可以直接生成html,并直接使用输出到您的应用程序。 XML是非常详细,其中JSON需要格外注意的是,由于处理安全。

有是不是一个真正的“最佳实践”,个人如果我JSON和XML,我会用JSON之间进行选择。虽然你有一些有趣的查询posibilities如果使用XML。

我觉得JSON的辩论与XML显示,JSON可以的的最佳实践。我不认为客户端 - 服务器的传输速度会很快消失是一个问题,如果的曾经的。所以我认为,JSON将赢得的是较小的单独的问题(我相信,JSON也具有灵活性,它可以发送到哪个服务器,但是这自然涉及到安全问题提到的)

也许我们应该开始把它称为 “AJAWX”(异步JavaScript没有XML)。

我的选择是手机中。

因为:

  • 它的速度要快得多。你只需要评估JSON码从反应,而不是分析XML。
  • 它需要多少的代码。eval()小于XML parser代码。
  • 业务量较少(数据的数量转移)之间的客户和服务器的结果更快的处理
  • 它更有可读性
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top