关于express的疑问
发布于 9 年前 作者 xieyijun 3924 次浏览 最后一次编辑是 8 年前 来自 问答

例如我们form点击submit时候,会到路由里去,那么如果在路由里出现一些逻辑验证错误,需要将错误返回到view,这时候可以用render或者direct导航回到原来的view页面,可是之前辛苦填写的那些表单字段的值都没了,如何解决这个困扰,如果用render一个个栏位去添加,那得多麻烦,有没有什么技巧。

16 回复

抛个砖:form 用 ajax submit,成功了再跳转

@leapon 这样我考虑过,但我原本是觉得能否不要在前端JS里去写ajax而直接submit去post到后端。如果能够将前端form传过来的request.body再render回去,那就好了。

提交 a=1&b=2&c=3 验证不通过 render a=1&b=2&c=3 记住一点:http无状态,参数丢了就没了

history.go(-1) 浏览器后退下 session保存,render的时候填进去 ajax请求…

好像挺多人用flash

@captainblue2013 express 4不是已经剔除了Flash了,都用session取代。

你肯定 是 干 .net的

@dingyong666 怎么说,打杂的,最近都在写PDA扫条码的。

@xieyijun 我看 .net的 mvc4就这么干的 模板页定义一个 标签 然后 后台 添加错误信息 ,然后刷新就显示了 ,看得淡腾

@xieyijun 后台用模版把需要的输入参数再带回前端。提示信息啥的也一并带回。

  • 后端渲染肯定是要把前一个页面的参数render到后端模板中,渲染成页面后再返回到前端。
  • 如果不想这么做,那就用前端模板,或者小站的话,直接用jquery ajax局部刷新。 感觉你是这个意思。

@dingyong666 我以前都是用ajax方式去做MVC的,也都是用POST,几乎不用submit去提交form。最近刚在学习ASP.NET的MVC 5,底部实现应该也是一样的原理,需要返回一个之前提交过来的model。nodejs的render是将整个HTML网页作为请求的response返回回去的,后面还是算了,继续用ajax来写。

ajax基本上是通用的方法

前后不分离是异端。

回到顶部