用生命谱写代码的赞歌

0%

Ajax 提交与 form 表单提交区别

Ajax 提交与 form 表单提交

form 表单提交,更新数据完成后,需要转到一个空白页面再对原页面进行提交后处理;ajax 则不用,可以直接返回原页面进行提交后的处理。可见 ajax 可以比隐藏 form 提交少增加一个页面。

ajax 出于安全性考虑,不能对文件进行操作,所以就不能通过 ajax 来实现文件上传,而通过 form 表单提交则可以实现这个功能,这也是目前用 form 表单提交的主要用途。

Ajax 提交优势

  1. 用户对 Web 的体验会更“敏捷”
  2. 数据提交页面不会刷新,页面局部更新速度快
  3. 网络带宽占用低

form 表单提交需要整个页面重绘,为了维持页面用户对表单的状态改变,需要多写不少代码,在控制器和模板之间传递更多参数以保持页面状态。而 ajax 不然,因为页面只是局部更新,不关心也不会影响页面其他部分的内容。

两者区别

  1. Ajax 在提交、请求、接收时,都是异步进行的,网页不需要刷新;Form 表单提交则是新建一个页面,即使是提交给自己本身的页面,也需要刷新

  2. Ajax 在提交时,是在后台新建一个请求;Form 表单提交却是放弃本页面,重新发起一个 url 请求

  3. Ajax 必须要使用 JS 来实现,不启用 JS 的浏览器,无法完成该操作;Form 表单提交却是浏览器的本能,无论是否开启JS,都可以提交表单

  4. Ajax 在提交、请求、接收时,整个过程都需要使用程序来对其数据进行处理;Form 表单提交时,却是根据你的表单结构自动完成,不需要代码干预