Jquery AJAX 返回原始数据还是现成的 HTML? [复制]
Posted
技术标签:
【中文标题】Jquery AJAX 返回原始数据还是现成的 HTML? [复制]【英文标题】:Jquery AJAX return raw data or ready-to-use HTML? [duplicate] 【发布时间】:2015-09-17 22:21:30 【问题描述】:我正在使用 Jquery mobile 构建一个移动应用程序。我需要从 API 请求并在应用内显示的一些数据。
现在我有两个选择:
我的 API 返回 Json,我需要一些 javascript 将其格式化为 显示在我的应用程序中(它是一个列表,所以我会遍历它并 附加到列表中)
我的 API 返回现成的 html,我只需要在其中包含一些
容器。对于这种情况,我找到了这种方法:$( "#result" ).load("ajax/test.html" );
哪个是最佳实践,您将如何实现它
【问题讨论】:
这里有一些相当深入的答案:Why is it bad practice to return generated html instead of json 为什么不使用underscore 模板? 使用第一个选项。可扩展、可维护 【参考方案1】:我当然看到它是双向的。以下是一些您可以考虑的“明线规则”建议。
(1) 如果内容将被应用程序视为“黑匣子”...... “不要看,我们不必与之交互,我们只需要这里需要做的是显示它,不管它是什么" ...那么让服务器为你完成所有工作可能是完全合适的。 (特别是如果有很多可能性,和“服务器会最清楚,”和“应用程序真的不必放弃。”)你希望避免在应用程序和服务器之间创建不必要的依赖关系或重复。
但是……
(2) 如果内容是 app 必须与之交互的东西,和/或需要“样式”或类似的东西,那么 中的逻辑>app 可能应该这样做。您希望避免在服务器和应用程序之间创建不必要的依赖关系或重复。 (请注意本段中“服务器”和“应用程序”这两个词是如何颠倒过来的。)
这个概念有时被称为“关注点分离”。如果无论如何是“服务器比应用程序更关心”并且“应用程序可以承受'不关心'”,那么服务器可以移交既成事实. 否则,它可能应该把数据交给你。
在任何情况下:“这是一个工程判断要求你,工程师,做出和捍卫。”
【讨论】:
以上是关于Jquery AJAX 返回原始数据还是现成的 HTML? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 jQuery ajax 中使用 GET 请求发送原始数据?
jquery ajax - 更好地返回 json 或纯 html