【问题标题】:Load ajaxdata in HTML or JSON-format?以 HTML 或 JSON 格式加载 ajaxdata?
【发布时间】:2011-01-12 06:46:18
【问题描述】:

什么是更好的做法?以 HTML 格式或 JSON 格式加载数据?当我加载 HTML 时,我能够将所有 html 保留在我的 php 视图文件中。当我加载 JSON 时,我必须使用 javascript 将它放在客户端的 html 元素中。

我知道“最佳实践问题”不适合 stackoverflow。因此,对我的问题的更好回答是列出两种技术的优缺点。

【问题讨论】:

    标签: php javascript html ajax json


    【解决方案1】:

    我会说,当您需要在客户端处理数据时使用 JSON,当您只想将其转储到某个容器 div 时使用 HTML。

    例如,考虑一个图像查看器,您可以使用 JSON 获取预览图像 URL 列表,在客户端创建图像列表并显示它们,滚动它们等等。

    另一方面,如果您正在使用 ajax 执行某些操作,并且只想显示一条状态消息(例如弹出 div 中的数据表),我建议您在服务器端呈现 HTML 并只是显示它。

    【讨论】:

    • 我只想将一个包含数据的表格加载到弹出 div 中。
    • 我有一个带有搜索输入的弹出窗口。该搜索文本正在发布到服务器,并正在返回一个包含数学数据的表格。当我在返回之前已经添加了table-html结构,你认为它没有完成吗?
    【解决方案2】:

    如果您以后必须制作移动版本或其他一般客户端,您可能会从全面使用 JSON 中受益。 JSON 也会更小(可能重要与否,取决于您的 html、元素的数量……)

    这里有一篇关于这个主题的好文章:http://www.quirksmode.org/blog/archives/2005/12/the_ajax_respon.html

    【讨论】:

    • 这正是我想要的。我现在正在阅读它..(我想我会选择 HTML 方法 xD)
    【解决方案3】:

    如果您打算在同一个会话中经常调用数据,那么如果您只调用 JSON 数据,网络流量和响应能力会更好。 HTML/JS 开销在缓存中,只有数据会从第二次调用通过网络。

    但是看起来您只需要使用 TR/TD 呈现表格。如果您不经常调用它,最好使用简单的 HTML 转储。

    另一个考虑因素是清楚地分离数据和视图,以实现更简洁的代码和更易于维护。 JSON 调用允许数据和 HTML 之间的清晰分离。在 HTML 转储中,两者都是混合的。

    我刚刚回答了另一个问题,它是针对 JSP 的,但您可能对此感兴趣。 What is the best approach for handling a complex form in html?

    【讨论】:

    • 我的数据和 html 已经完全分开了。只需几个 foreach 循环即可处理数组。 (我正在使用 CodeIgniter)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-15
    • 1970-01-01
    • 2021-09-24
    相关资源
    最近更新 更多