我们前端常常需要发送http请求,去和后端进行交互。今天我介绍一下我们常用的form表单提交和ajax提交的适用场景和区别。这样大家在处理业务逻辑的时候,更能清晰明了的选择适当的提交方式。
相同点
1、都是发送http请求的
2、安全性都一样,安全性与提交方式无关
区别
ajax请求 | form表单提交 |
---|---|
表单提交后,不需要页面跳转,或者想要把跳转的控制权放在前端的时候,适用ajax提交更为方便,这样做,页面不会刷新,只刷新局部。加载速度更快,数据也不会闪屏。 | 表单提交以后需要重新跳转新页面,或者要将跳转行为放在后端时,用表单提交更合适。点击提交触发submit事件,后端控制页面的跳转及数据的传递。 |
ajax在提交、请求、接收时,是异步进行的,不影响页面其他部分。 | form表单提交会新建一个页面,会在控制器和模板之间传递更多参数。 |
ajax提交时,是在后台新建一个请求。 | form却是放弃本页面,然后再请求。 |
ajax必须要用js来实现,存在调试麻烦、浏览器兼容问题,而且不启用js的浏览器,无法完成操作。 | form表单是浏览器自带的,无论是否开启js,都可以提交表单。 |
ajax在提交、请求、接收时,整个过程都需要使用程序来对其进行数据处理。 | form表单提交,是根据表单结构自动完成,不需要代码干预。用submit提交。 |
输入内容的校验,ajax可以在获取到元素内容用程序判断。 | form表单的属性中有校验的字段,easyui,jeecg等都封装完成,用户只需添加正则表达式的校验规则。 |
上面就是我总结的ajax请求和form表单提交的区别。