jQuery / AJAX - 响应格式
Posted
技术标签:
【中文标题】jQuery / AJAX - 响应格式【英文标题】:jQuery / AJAX - response format 【发布时间】:2011-05-02 13:53:33 【问题描述】:我想知道发送回 javascript 的数据的最佳“格式”是什么? 什么时候应该使用 JSON 字符串或纯 html?除了这两个还有其他选择吗?
【问题讨论】:
【参考方案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 几乎总是首选。通常,我的服务器端应用程序知道如何更好地格式化生成的标记。服务器还可以比客户端更快地生成最终标记,从而提高客户端的感知性能。以上是关于jQuery / AJAX - 响应格式的主要内容,如果未能解决你的问题,请参考以下文章