我想知道发送回javascript的数据的最佳“格式”是什么? 我什么时候应该使用JSON字符串或纯HTML?除了这两个之外还有其他选择吗?
答案 0 :(得分:7)
这取决于发回的数据是什么以及您打算如何使用它。
优点和缺点:
使用json数据和HTML生成JavaScript会增加浏览器的负担,降低服务器的负载,而且无需将表示逻辑编码到提供数据的页面中。而且JSON数据通常要小得多。
使用HTML数据并直接注入页面会使服务器上的工作量增加,导致AJAX服务页面包含表示逻辑。但是,如果表示逻辑已经包含在您的服务器端代码中(直接或通过模板语言),并且将所述表示逻辑放入JavaScript端,则需要您从头开始编写它,这可能是一个好处而不是缺点。
换句话说,使用JSON数据iff:
您的页面将使用该JSON数据用于除一次性HTML之外的其他目的。 DUH。
您的页面已包含基于数据构建HTML的JavaScript逻辑,或者如果创建此类逻辑非常容易开发成本。特别是如果情况正好相反(例如,需要完成HTML生成逻辑服务器端并且需要花费很多开发成本)。
将数据转换为HTML从服务器转移到浏览器上的资源成本下降是一个重要的考虑因素。
JSON数据明显小于生成的HTML,因此导致传输数据的主要数量减少。这加速了服务器执行和网络传输。通过将树数据作为json而不是已经生成的HTML代码传输,我们实际上有20倍速的复杂树显示应用程序。
如果其他可能/实际的消费者无法100%重复使用为此特定项生成的HTML,则生成响应的URL可以重新用作其他目的以外的服务。页。
答案 1 :(得分:2)
您是否希望使用JavaScript中的数据,然后根据该数据构建DOM?使用JSON字符串。
您是否只想在没有任何逻辑的占位符中转储页面上的内容?使用纯HTML。
答案 2 :(得分:1)
json几乎总是首选,特别是如果您需要进行任何类型的错误处理。如果你不这样做,只想返回预先格式化的HTML来放置在DOM中,那么返回纯HTML就足够了。