ajax提交form表单
1、使用场景:
安全性都一样,都是发送的http协议。安全性与提交文件的业务处理(格式检测,防注入)有关,与提交方式无关。
一般登录用表单提交,点击提交触发submit事件,一般会 使页面发生跳转,页面的跳转等行为的控制往往在后端,后端控制页面的跳转及数据的传递;但是某些时候不希望页面跳转,或者说想要将控制权放在前端,通过js来操作页面的跳转或数据变化,一般这种异步操作,都会使用ajax。
但是Ajax会有个隐藏的问题,即浏览器不保存密码,不符合用户习惯。理想的方式:建立隐藏的iframe,把form标签的target指向iframe,然后检测iframe的状态。
2、比较:
(1)ajax在提交、请求、接收时,都是异步进行,网页不需要刷新,只刷新页面局部,不关心也不影响页面其他部分的内容。
Form提交则是新建一个页面,哪怕是提交给自己本身的页面,也需要刷新,为了维持页面用户对表单的状态改变,要在控制器和模板之间传递更多参数以保持页面状态。
(2)ajax提交时,是在后台新建一个请求。
Form却是放弃本页面,然后再请求。
(3)ajax必须要用js来实现,存在调试麻烦、浏览器兼容问题,而且不启用js的浏览器,无法完成操作。
form表单是浏览器自带的,无论是否开启js,都可以提交表单。
(4)ajax在提交、请求、接收时,整个过程都需要使用程序来对其进行数据处理。
Form表单提交,是根据表单结构自动完成,不需要代码干预。用submit提交。
3、其他方面:
关于输入内容的校验,ajax可以在获取到元素内容用程序判断;form表单的属性中有校验的字段,easyui,jeecg等中都封装,用户只需添加正则表达式的校验规则。
4、例:
(1)使用form提交
用户名:
密 码:
12345678910111213141516(2)使用ajax提交
用户名:
密 码:
12345678910111213141516171819202122232425262728293031323334353637参考以下内容:
https://segmentfault.com/q/1010000004461470
https://www.cnblogs.com/han-1034683568/p/7199168.html
相关阅读
使用 Date 类的默认无参构造方法创建出的对象就代表当前时间,我们可以直接输出 Date 对象显示当前的时间,显示的结果如下: public st
location.href和location.replace的区别
情景 比如支付过程中或者使用商品的优惠券,而使用这张优惠券需要取请求 一个第三方的地址,中间会有一次跳转。若使用 window.locati
只提交参数到后台,不接收返回值 html代码 <!--第1步:设置 action,method--> <form id="editForm" action="app/edit/destinatio
// 验证姓名function nameValidate(valCon) {var checkResult = true; var valCon1 = $.trim(valCon.val());// 去空 var regu
maven中scope=compile 和 provided区别
问题再现:上次这边朋友问我一个问题,就是他们在pom.xml中的dependency中,看到有一些是<scope>provided</scope>的情况,比如如下:<depen