代码之家  ›  专栏  ›  技术社区  ›  Roman

使用ajax从浏览器向基于java的服务器发送数据的最佳格式是什么?

  •  1
  • Roman  · 技术社区  · 14 年前

    我在这方面没有太多经验,所以我认为最简单的方法是将键值对作为post参数发送,然后servlet容器将解析这些对并将其放到参数映射中。

    但是我假设在使用一些现成的解决方案(libs)的基础上可以存在更方便的方法,这就是为什么(和什么)我要问的。还有一件事可以在决策中发挥一定的作用,那就是我需要传输相当复杂的东西(即,我想实现某种协议)。

    2 回复  |  直到 14 年前
        1
  •  2
  •   L. Cornelius Dol    7 年前

    数据交换的两个真正选择是XML和JSON。我已经广泛地与这两者合作过,这些天JSON是我的首选。

    在这两者中,我认为JSON在除一个之外的所有方面都胜过XML。JSON更精简,更易于阅读。它更适合表示数据格式,因为它是专门为将标签应用于离散数据单元而构建的。JSON解析器编写起来简单得多,所需代码也少得多。我发现JSON支持的有限类型集非常适合数据交换。JSON不受允许文档标记的遗留语义的影响。

    此外,如果您的客户机使用JavaScript,则对JSON的支持是内在的。

    XML的唯一优势是,可能有更多更好的工具来处理这种格式的数据。不过,必须说JSON非常简单,不需要工具。

    第三种选择可能是URL编码的关键字/值对,但我认为您很快就会发现这太有限了。

    就我的200美分。

    http://www.json.org/

    你也可能对我的轻量级开源无障碍感兴趣 JSON parser .


    编辑:2010-08-10 00:43

    对于使用JS eval的安全性的评论,下面是 JSON website 可能有兴趣:

    要将JSON文本转换为对象, 可以使用eval()函数。 编译器。因为JSON是一个合适的 JavaScript的子集,编译器 生成对象结构。文本 在 JavaScript的语法。

    var myObject=eval('('+myJSONtext+ ')');

    eval函数非常快。 任何JavaScript程序,这样就可以 是安全问题。eval的用法是 当源被信任时指示 而且很有能力。使用起来安全多了 一个JSON解析器。在web应用程序中 通过XMLHttpRequest,通信是 服务器的JSON不严格 编码,如果没有 严格验证 输入,则它可能传递无效的 危险的剧本。eval函数 将执行脚本,释放 它的恶意。

    应该使用。JSON解析器将 只识别JSON文本,拒绝 所有脚本。在提供 本地JSON支持,JSON解析器是 预期本机JSON支持将 包含在下一个ECMAScript中 标准。

        2
  •  0
  •   MK.    14 年前