AJAX实际上意味着异步Javascript和XML。这个术语的衍生是因为(据我所知),第一批启动此过程的人员通过XML将数据从服务器传输到客户端。最近(自从我开始实际使用它以来),JSON已经存在并且似乎是XML的真正替代品。从我的(可能是微薄的)测试和经验来看,JSON更小,更容易,更好地传输数据。
所以我的问题是:你用来与服务器/客户端进行通信(也可能是为什么)?或者,您听说过的“最佳实践”(及其原因)是什么?
全部谢谢!
答案 0 :(得分:5)
我们通常更喜欢xml,因为它比JSON有一些优势,如:
另一方面,json本身也有其优势:
最终,这取决于你想要开发什么,面向数据的东西我 喜欢json。
答案 1 :(得分:5)
哪一个更好用的是特定应用/需求。在浏览器端,JSON是更好的选择,而在服务器端,文件XML是更好的选择。使用正确的工具正确的工作。 JSON更倾向于数据,而XML更倾向于文档。浏览器Javascript代码本身支持JSON。
有关此帖子的更多详细信息,请参阅一个链接,其中每个示例都有更好的比较。 http://codebucket.co.in/which-one-is-better-xml-or-json/
答案 2 :(得分:3)
您可以在JSON or XML, Which Format to Choose?和The AJAX response: XML, HTML, or JSON?上找到JSON和XML的优缺点的广泛比较
答案 3 :(得分:2)
我更喜欢在可能的情况下使用JSON:
答案 4 :(得分:1)
这些天我尽可能地倾向于JSON。与客户端编码相结合,它确实感觉更轻,更“自然”。
安全性最佳实践:永远不要盲目地评估JSON而不对接收的字符串执行检查,因为您可能正在执行某人已经“放置”到JSON字符串中的任意代码。
道格拉斯·克罗克福德在使用JSON时写了一篇好文章set of security principles。答案 5 :(得分:1)
当我看到AJAX一词时,我总是微笑。我笑了,因为我甚至在XMLHTTP存在之前很久就开始使用相同的技术,更不用说AJAX了。
我们在IE中的Intranet应用程序上做了与AJAX相同的事情,但是使用VBScript和Java applet而不是XMLHTTP。我们使用类似于JSON的东西,但是使用VBScript语法。
答案 6 :(得分:1)
理论上,由于验证和非验证,XML会很快。在实践中,您不能在客户端对DTD或模式进行合理的验证(或者在大多数情况下根本不验证)。尝试一下,你会看到。
XML也受到客户端冗长和消费的影响。除非您计划使用XSLT或其他东西并直接使用收到的数据包,否则您必须使用像生成的DOM一样砍掉数据。
最后XML无法合理地查看,直到它完成(至少客户端),所以你不能做部分检查。虽然公平,JSON也将面临挑战,具体取决于它的结构。
考虑到消费环境(主要是JavaScript),JSON有明显的优势。有关此选择的大量讨论以及其他内容,如YAML,CSV,base64编码数据,HTML片段等,在Ajax的第4章:完整参考(http://ajaxref.com),它只是关于数据类型。实例证明不易于处理,特别是在较不为人知的情况下。如果我必须选择一个JSON就可以了,但坦率地说,对于Ajax小型HTML片段的一些用法(因为它是slap and go)是实现它的方法。
答案 7 :(得分:0)
您也可以生成html并将该输出直接用于您的应用程序。 XML非常冗长,由于安全性,JSON在处理它时需要特别注意。
没有真正的'最佳实践',就个人而言,如果我在JSON和XML之间做出选择,我会使用JSON。虽然如果使用XML,您有一些有趣的查询可能性。
答案 8 :(得分:0)
我认为关于JSON与XML的争论表明JSON可以是 最佳实践。如果永远,我认为客户端 - 服务器传输速度不会很快消失。所以我认为JSON将在小型单独的问题上获胜(我相信JSON在它可以发送到哪个服务器方面也具有灵活性,但这自然会涉及所提到的安全问题)
也许我们应该开始称它为“AJAWX”(不带Xml的异步JAvascript)。
答案 9 :(得分:0)
我的选择是JSON。
由于: