- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发从后端获取 JSON 后生成布局的网络应用程序。但是从后端接收到的对象非常复杂,需要循环多次才能得到布局。
将数据发布到后端时也会发生同样的情况。
我的感觉是,如果我们按照前端布局生成JSON对象来发布数据,即使后端的对象结构发生变化,布局生成也不需要那些额外的循环。
那么json对象到底是后端给的还是前端给的?
例如后台给
[
{
"keyid": "value",
"attr1": "value1",
"attr2": "value2"
},
{
"keyid": "value",
"attr3": "value3",
"attr4": "value4"
}
]
但前端很容易接收和发送以下格式的对象:
{
"keyid": "value",
"attr": {
"attr1": "value1",
"attr2": "value2",
"attr3": "value3",
"attr4": "value4"
}
}
最佳答案
好问题,尽管它可能会因为“过于宽泛”而被关闭。
一般来说,后端负责持久化数据、执行业务逻辑、准备和接受进出前端的数据包,理想情况下前端可以将自己限制在其自身范围内角色,主要是显示数据、管理导航和处理用户交互,进行完成这些事情所需的任何预处理和操作。
如果后端“做得不够”,那么你会看到前端需要发出太多数据请求来获取它需要的数据,相当于“连接”来组合和关联数据,并执行业务逻辑。这会减慢前端速度并使其变得更加复杂,并将业务逻辑分散到后端和前端。
另一方面,如果后端“做得太多”,并且计算并提供所有内容,以至于只需要将其填充到一些 HTML 模板中,结果就是它最终过于依赖特定的前端设计,意味着变化需要对两侧进行过多的修改。
因此,人们试图找到一个中庸之道。后端应该检索所有必要的数据,关联和操作数据,并执行业务逻辑。它提供了一组相对抽象但充实的数据对象,前端可以为 UI 准备和操作这些数据对象。对于在哪里划线没有硬性规定。
例如,分页可以被认为是一个“UI”问题,并且可以由大多数客户端框架轻松处理,但是如果有成百上千个对象,性能方面的考虑可能会要求在服务器上处理它。排序也一样。
考虑计算购物车中商品的总价。前端可以很容易地执行这种业务逻辑,但可能会有一些规则,例如最好在后端处理的批量折扣或货币转换。当然,如果要在服务器上完成计算,则每次将商品添加到购物车时都需要再次往返服务器以重新计算总数。往返相对便宜,但在某些情况下,性能问题可能会导致人们想要在客户端执行此操作以避免往返。
归根结底,这是一组设计选择。当然,后端 API 经常被“卡住”,前端人员只能根据给定的内容工作。
关于开发中的 Json 对象?是前端还是后端决定的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31353848/
1. HTML 结构 1.1 HTML 文件基本结构 第一个html程序 hello world! html 标签是整个 h
文件上传三种方案:1. form表单上传,2. iframe,3. FormData,base64上传文件,二进制流上传文件,二进制流下载文件。异步上传,大文件上传--切片:拆分上传请求断点续传显示上
1. HTML 结构 1.1 HTML 文件基本结构 第一个html程序 hello world! html 标签是整个 h
uniapp作为开发移动端的前端框架,目前国内是非常流行的,使用HbuilderX开发工具基于uniapp框架开发的系统可以方便的转换为小程序、APP等移动端程序,大大降低了移动开发的成本。网络
今天我们来复盘一下前端中css伪元素的知识以及如何用css伪元素来减轻javascript的压力,做出一些脑洞大开的图形。 预备知识 伪元素 伪元素是一个附加至选择器末的
今天给大家分享一些实用的JS代码片段,有需要的朋友欢迎收藏! 1、获取浏览器的版 functiongetBrowser(){ varUserAgent=navigator.us
1 . Wappalyzer 全球用户数:1,000,000+ Wappalyzer可以帮助我们了解目标网站的构建方式。工作当中存在大量此类情况,客户需要我们参照某些网站
在管理后台中我们会使用大量的表格表单组件, 导入导出各种报表, 有些场景还需要对报表数据进行可视化分析, 动态生成可视化图表, 笔者将基于以上场景, 总结一些实用的 Table 组件开发技巧,
3D动画效果现在越来越普及,已经被广泛的应用到了各个平台,比如阿里云,华为云,webpack官网等。它可以更接近于真实的展示我们的产品和介绍,带来极强的视觉冲击感。所以说,为了让自己更加优秀,c
QShop商城-快速开始-前端 工具准备 NodeJs 前端环境为NodeJs,下载地址:http://nodejs.cn/download/current/ 。 默认会用版
1. 初始JavaScript 1.1 什么是 JavaScript JavaScript (简称 JS) 是世界上最流行的编程语言之一 是一个脚本语言, 通过解释器运行 主要在客户端(浏览器)上运行
1. WebAPI 背景知识 1.1 什么是 WebAPI JS 分成三个大的部分: ECMAScript: 基础语法部分 DOM API: 操作页面结构 BOM API: 操作浏览器 WebAPI
1. WebAPI 背景知识 1.1 什么是 WebAPI JS 分成三个大的部分: ECMAScript: 基础语法部分 DOM API: 操作页面结构 BOM API: 操作浏览器 WebAPI
1. 初始JavaScript 1.1 什么是 JavaScript JavaScript (简称 JS) 是世界上最流行的编程语言之一 是一个脚本语言, 通过解释器运行 主要在客户端(浏览器)上运行
有没有办法从页面访问 tomcat 服务器日志?如果有一些方法或实现可以做到这一点...... 最佳答案 PSI Probe可以列出您的 Tomcat 日志文件并显示它们的内容。您可以采用相同的方法,
我想知道是否有一些很好的免费网站性能分析工具,特别是前端。这主要是关于Javascript的。 现有工具(例如 Google Pagespeed)的问题在于它不适用于我的应用程序。在进入我的应用程序之
我曾经遇到一个 MySQL 前端应用程序,它在父行中显示外部链接行,例如,如果 Client 表有一个指向 Suburb 表的外键: (来源:vb123.com) 您知道可以执行此操作的任何前端吗?
我正在建立一个带有管理区域的网上商店来管理产品。在管理区域中,所有产品都是可见的,但在网上商店中,只有数据库表中标记为 active = 1 的产品是可见的。 我正在使用 Silex 并将存储库注册为
有可能在 C# 中制作 GUI,但在 C 或 C++ 中制作实际程序。 比如说我想制作一个聊天应用程序。我希望界面在 C# 中。但我想用 C 编写所有实际代码。这可能吗? 我找到了 http://ww
对于我自己的教育,我很好奇编译器使用哪个 C++ 前端和后端。您能告诉我以下技术在哪里使用以及它们有哪些标志/优势(如果有的话)? Open64 - 它是后端、前端还是两者兼而有之?哪些编译器使用它?
我是一名优秀的程序员,十分优秀!