【问题标题】:jQuery / AJAX - response formatjQuery / AJAX - 响应格式
【发布时间】:2011-05-02 13:53:33
【问题描述】:

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

【问题讨论】:

    标签: jquery html ajax json


    【解决方案1】:

    这取决于发回的数据是什么以及您打算如何使用它。

    优点和缺点:

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

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

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

    • 您的页面将使用该 JSON 数据用于一次性生成 HTML 以外的目的。呵呵。

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

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

    • JSON 数据明显小于生成的 HTML,因此导致传输数据的大幅减少。这加快了服务器执行和网络传输。通过将树数据传输为 json 而不是已经生成的 HTML 代码,我们实际上将复杂的树显示应用程序的速度提高了 20 倍。

    • 如果其他可能/实际消费者无法 100% 重复使用为此特定页面生成的 HTML页面。

    【讨论】:

      【解决方案2】:

      您想在 JavaScript 中处理数据,然后从该数据构建 DOM 吗?使用 JSON 字符串。

      您是否只想将页面上的某些内容转储到占位符中而没有任何逻辑?使用纯 HTML。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 我很难说 JSON 几乎总是首选。通常,我的服务器端应用程序知道如何更好地格式化生成的标记。服务器还可以比客户端更快地生成最终标记,从而提高客户端的感知性能。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-23
        • 1970-01-01
        • 2014-03-30
        • 2014-08-26
        • 2011-04-29
        相关资源
        最近更新 更多