Javascript 通过api调用Json与HTML?
请注意;正如我在问题的第五段中清楚解释的那样,这并不是其他类似问题的重复。此外,它不是基于意见的。我只是想问一下这两种做事方式的利弊,特别是为什么Stackoverflow会这样做。 对于我的网站,我正在构建一个通知,类似于它在顶部Stackoverflow上的实现方式;单击通知图标时,将显示一个下拉列表,其中包含相关通知 我目前编写系统的方式是api调用返回包含通知的json对象列表,然后在浏览器中用javascript构建html。但是当我查看SO所做的网络调用时,我发现这里的api调用只是返回html,然后粘贴到下拉列表中 我现在想知道;为什么会这样呢?在我看来,只提供json格式的数据,而不是所有围绕它的html格式,效率更高 我退房了:这意味着第三种选择;某种模板系统,但对于我想要插入的简单html来说,这有点太多了。所以我真的不想考虑这个选项。专门讨论性能差异,我也不太关心(可维护性和简单性对我来说比这些差异更重要)Javascript 通过api调用Json与HTML?,javascript,html,ajax,json,api,Javascript,Html,Ajax,Json,Api,请注意;正如我在问题的第五段中清楚解释的那样,这并不是其他类似问题的重复。此外,它不是基于意见的。我只是想问一下这两种做事方式的利弊,特别是为什么Stackoverflow会这样做。 对于我的网站,我正在构建一个通知,类似于它在顶部Stackoverflow上的实现方式;单击通知图标时,将显示一个下拉列表,其中包含相关通知 我目前编写系统的方式是api调用返回包含通知的json对象列表,然后在浏览器中用javascript构建html。但是当我查看SO所做的网络调用时,我发现这里的api调用只是
所以我的问题是,;在api调用中提供所有html还是只提供json更有利(无论出于何种原因),原因是什么?在理想情况下,为了明确区分关注点,web api应该返回一个视图无关的响应。这在几个方面给了你很大的灵活性
- 您可以使用相同的api为不同的客户端技术提供服务
- 即使您不使用不同的客户端技术,您也可能希望更改与表示相关的内容,如果您返回特定于视图的内容,则可能需要更改api逻辑以适应响应
很好地解释了这一点。我之所以选择JSON响应,是因为:
- (+)它是可重用的,您可以在顶部栏和用户配置文件内的下拉列表中显示此通知->一个api服务-许多不同的控件/元素
- (+)通过http传输的数据更少
- (-)客户端的计算越来越多,但现在,即使是移动设备也有多核,所以我们谈论的是几毫秒