一般浏览器表单时前台会做一次校验,然后后台需要对表单做二次校验,
如果校验不通过,则将信息反馈到前台,同时页面上数据不允许有丢失,
请问各位大神是怎么把信息反馈到前台的,同时页面上数据不允许有丢失?
我知道的解决方法:
通过ajax提交表单,后台将错误信息封装到json中返回到前台,这样可以做到把信息反馈到前台的,同时页面上数据没有丢失。
但是如果通过form表单直接提交,怎样做到把信息反馈到前台的,同时页面上数据没有丢失呢?
如果是form提交可以设置form的target将请求提交到iframe,当iframe加载完成时,将iframebody的json数据取出来,以前也做过,不过很少写前台,没法给你详细代码
你这个是Ajax 的 问题对吧,如果你想使用 form 方式 提交 请在 Ajax 请求 XHR 头部添加
content-type : application/x-www-formurlencoded 即可提交出去的数据就是就是表单类型了,
并且你的请求消息体内应该为Query 字符串格式也就是 a=xxx&b=zzz 这种格式,xxx 和 zzz 别忘了做 urlencoded 编码哦
通过js提交,就可以避免页面跳转和刷新了。
如果非要用form直接提交的话, 了解一下struts2框架的form 标签。
主要看你用什么框架,有一些框架是可以完成你说的功能的,但是有些完成不了,需要你提示错误时把数据给前端返回去,form表单也一样
后端可以使用modelAttribute接收参数,如果二次校验不通过,返回原页面,并且把之前的参数对象传到前端页面,后端自己来填充form内的参数
HttpServletRequest 后台直接用这个 request.getparameter(); 取。 返回用model封装数据就可以
校验不成功将提交的数据再返回来,前台填写到form的对应标签了,但这么作不是脱裤子放屁么? 还是直接用ajax提交吧。