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

jquery/ajax-响应格式

  •  6
  • Alex  · 技术社区  · 14 年前

    我想知道发送回javascript的数据的最佳“格式”是什么? 什么时候应该使用JSON字符串或纯HTML?除了这两个,还有其他选择吗?

    3 回复  |  直到 14 年前
        1
  •  7
  •   DVK    14 年前

    这取决于要发送回的数据是什么以及您计划如何使用它。

    优缺点:

    • 使用JSON数据和HTML生成JavaScript可以增加浏览器的负载,减少服务器的负载,而且不需要将表示逻辑编码到提供数据的页面中。JSON数据通常要小得多。

    • 使用HTML数据并将其直接插入页面会使服务器承担更多的工作,从而使Ajax服务页面包含表示逻辑。但是,如果表示逻辑已经包含在服务器端代码中(直接或通过模板语言),并且将所述表示逻辑放在JavaScript端将需要从头开始开发它,那么这可能是一个好处而不是缺点。

    换句话说,使用JSON数据iff:

    • 您的页面将把JSON数据用于一次性生成HTML以外的目的。杜赫。

    • 您的页面已经包含了基于数据构建HTML的javascript逻辑,或者如果创建这样的逻辑是非常容易的开发成本。尤其是在相反的情况下(例如,将HTML生成逻辑放到服务器端需要完成,并且会带来巨大的开发成本)。

    • 将数据从服务器转换为HTML到浏览器的卸载资源成本是一个重要的考虑因素。

    • JSON数据明显小于生成的HTML,从而大大减少了传输数据。这将加速服务器执行和网络传输。实际上,通过将树数据作为JSON而不是已经生成的HTML代码传输,我们对一个复杂的树显示应用程序进行了20倍的加速。

    • 如果其他可能的/实际的使用者无法100%地重复使用为此特定页面生成的HTML,则生成响应的URL可以被重新用作此页面以外的服务。

        2
  •  2
  •   Justin Niessner    14 年前

    是否要使用javascript中的数据,然后根据该数据构建DOM?使用JSON字符串。

    是否只想在不带任何逻辑的占位符中转储页面上的内容?使用纯HTML。

        3
  •  1
  •   FatherStorm    14 年前

    JSON几乎总是首选的,特别是在需要进行任何类型的错误处理时。如果您不想并且只想将预先格式化的HTML返回到DOM中,那么返回纯HTML就足够了。