【问题标题】:Php ajax return json or htmlphp ajax 返回 json 或 html
【发布时间】:2016-04-25 16:37:28
【问题描述】:

返回ajax哪个更好:html数据还是json? 我在我的 php(mvc) 控制器PostController 中有metod index。该方法返回包含所有用户帖子、cmets、帖子喜欢、评论喜欢等的数组。它是一个大型合并数组!像在 Facebook 墙上的东西!

我用phpjquery ajax 我在view/home/index.php 文件中渲染的所有内容load 特定div 中的那个文件

但是查看 fb 和其他社交网站他们返回 json 对象。

在我的情况下,如果我将 json_encode json 返回到 ajax,我必须循环使用 each 所有帖子和评论。

因此,如果我使用 $.each 循环,我必须在 $.each 中放入大量 html 代码。 将所有 html 代码放入 javascript 循环中并不是丑陋和糟糕的做法吗?或者对于这个循环有更好的解决方案?

【问题讨论】:

  • 我更喜欢 JSON,因为我负责数据如何变成视图。当您收到缺少操作的 html 时,它基本上已经设置好了。
  • 您也可以发送json格式的html代码,也许这是一个选项?
  • 这个问题很可能会被关闭,因为它是基于任何给定情况的意见问题。也就是说,IMO 您应该始终使用 JSON,除非 HTML 具有某些特定的客户端优势。
  • 那么使用JSON 比使用更好吗?将大的HTML 放入循环中与$.each 是不是坏习惯?
  • 我找到了解决方案。可以返回JSON,但最好使用一些jQuery Template

标签: javascript php jquery json ajax


【解决方案1】:

这取决于您要对数据做什么。如果您将数据用作您不会对其执行任何计算的数据的表示形式,则可以使用 HTML。这样您就可以轻松地用 javascript 替换您网站的一部分,而无需处理您的数据结构。

但是,如果您想对数据执行计算,或者如果您只想在不同的地方使用部分数据,那么 JSON 是不错的选择。

请注意,这只是我的意见。

【讨论】:

    【解决方案2】:

    嘿,你可以定义你想要的数据类型,如下所示

    jQuery ajax 中的数据类型:json 或数据类型:html

    【讨论】: