javascript - 通过 api 调用 Json 与 HTML?

标签 javascript html ajax json api

请注意;正如我在这个问题的第五段中清楚地解释的那样,这不是关于 SO 的其他类似问题之一的重复。此外,它不是基于意见的。我只是询问这两种做事方式的优缺点,以及具体为什么 Stackoverflow 会这样做。

对于我的网站,我正在构建一个通知,类似于顶部 Stackoverflow 上的实现方式;当您单击通知图标时,会显示一个包含相关通知的下拉菜单。

我目前编写系统的方式是,api 调用返回包含通知的 json 对象列表,然后在浏览器中用 javascript 构建 html。但是当我查看 SO 进行的网络调用时,我发现这里的 api 调用只是返回 html,然后将其粘贴到下拉列表中。

我现在想知道;为什么要这样做?在我看来,仅以 json 形式提供数据而不是围绕它的所有 html 更有效。

我查看了another question on this topic here :这表明了第三种选择;某种模板系统,但这对于我想要插入的简单 html 来说有点太多了。所以我真的不想考虑这个选择。 One more question on this topic具体讨论了性能差异,我也不太关心(可维护性和简单性对我来说比那几毫秒的差异更重要)。

所以我的问题是;在 api 调用中提供所有 html 还是仅提供 json 是否更有利(无论出于何种原因),为什么?

最佳答案

在理想的世界中,为了明确关注点分离,Web API 应该返回与 View 无关的响应。这为您在多个方面提供了很大的灵 active

  • 您可以使用相同的 API 来服务不同的客户端技术
  • 即使您不使用不同的客户端技术,您也可能需要更改与演示相关的某些内容,并且如果您返回 View 特定内容,您可能需要更改 API 逻辑以适应响应。<

关于javascript - 通过 api 调用 Json 与 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28215637/

相关文章:

javascript - 如果资源存在而没有控制台错误,如何检查 JavaScript?

javascript - 文本区域中 javascript 提及脚本的问题

javascript - 获取拖动元素抛出时的距离和时间值

html - 100% 宽度不适用于 div。 WordPress的

javascript - 如何使用 Javascript 重复一个字符?

jquery - 如何使用 jquery ajax 提交表单使用 Mechanize 登录? (Python)

javascript - jquery.form.js 中的 .ajaxSubmit 不使用数据选项

javascript - 如何在 Mongoose mapreduce 中调用相关模型

javascript - 当页面完全加载时初始化 Slick Slider

html - 无法将 ul 居中