V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  FrankFang128  ›  全部回复第 75 页 / 共 277 页
回复总数  5529
1 ... 71  72  73  74  75  76  77  78  79  80 ... 277  
@jarlyyn 用 jQuery 插件提示或者跳页面。
JS 没有处理数据,因为 server 才是数据处理者。 JS 只做了正则校验。 JS 不做校验都行,因为 server 一定会校验。
如果你全给 JS 来处理,你 server 的数据校验依然不能省略—— 这时你分别在浏览器和 server 做了两次数据处理。
没有更新整个 HTML 啊。
@42thcoder 我刚开始接触 Turbolinks 的时候,发现 React 不就是一个客户端的 Turbolinks 嘛,思路一致的。
但是 React 自己在浏览器端维护 Model 和 View ,让我觉得太过了。
@jarlyyn 你的概念和我是一致的。
我主张不要让客户端做渲染。要让 server 来渲染。
@42thcoder 我觉得没必要具体提 Turbolinks ,毕竟很多前端没接触这个。
@jarlyyn 可以呀,只要不做客户端渲染,全走 server 渲染,就是前后端不分离。 API 的设计该怎么设计都可以。

一个四个 API
get /settings
post /settings1
post /settings2
post /settings3

页面上的 JS

$('form[name=settings1').on submit
--post /settings1, {accetp:'json'}
$('form[name=settings2').on submit
--post /settings2, {accetp:'json'}
$('form[name=settings1').on submit
--post /settings3, {accetp:'json'}

有啥问题

前后不分离
@jarlyyn 现在的全栈 Web 框架,都会融合 form 提交和 Ajax 提交了,比如 pjax 技术方案。
只有在以前那些老旧的 Web 框架里,才会不用 Ajax
我说的前后分离,是把『是否全盘采用浏览器渲染』作为主要判断依据。
@jarlyyn 如果你的路由是 RESTful 风格的,应该尽量做到一个页面表示一个资源。

具体到 V2EX 设置页面这样的,可以妥协
读取用一个页面返回三张表的内容,
POST 的时候用三个 form 提交。

这个只是风格问题,看起来不优雅。

假设你做成全走 API 的模式,
那么读的时候,用 AJAX 取三个 API 的 JSON
写的时候也是分三个 AJAX

实质上并没有提速(反而减速了,因为一个 HTML 请求变成了一个 HTML 三个 AJAX )。只是看起来条理清楚了
一个页面操作多个表,传统开发方式没有问题的。
pushState
@jarlyyn 另外,用 pushStage 很容易让 URL 更好看,用户感觉是一个 URL ,其实是三个 URL
@jarlyyn 三个 POST 点就对应三个 URL 来 POST 啊,有什么问题?显示还是用一个 URL
@MiguelValentine 性能不行加机器,把性能转译到客户端当然能减轻压力,但是加机器并不贵,至少比招一个前端便宜。
@MiguelValentine 就问你没有做前后分离的 GitHub 体验好不好
@jarlyyn
controller:
profile = loadProfile()
news = loadNews()
replys = loadReplys()
render('html or json')

这样解决
@MiguelValentine 怎么会 render 占用服务器资源……
1. 这服务器可以去死了
2. 花一万再买个服务器至少可用一年,比请程序员便宜 10 倍。
@jarlyyn 你用影响啊, post /user 和 post /user_group 都行啊。
就是一个 ajax 请求,得到一段数据,根据数据弹框或进入新页面。
@jarlyyn async 现在浏览器不能用,你用了 babel 吗,用 babel 请看我上一篇吐槽。 https://v2ex.com/t/293050
你跟我的争论点现在是什么?
@jarlyyn 那是 NodeJS 的问题,它的 API 都是异步的
@jarlyyn 在各种模板引擎里写 Html/js 不痛苦么? -> 你是在说 Angular/React/Vue 吗
@jarlyyn 大部分只有一个请求,提交信息的时候才有额外请求。
接受多种提交格式,返回多种提交格式。
1 ... 71  72  73  74  75  76  77  78  79  80 ... 277  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2077 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 39ms · UTC 02:28 · PVG 10:28 · LAX 19:28 · JFK 22:28
Developed with CodeLauncher
♥ Do have faith in what you're doing.