关于form表单提交与ajax提交的区别

2017-04-13 18:04
Ajax提交是通过js来提交请求,请求与响应均由js引擎来处理,页面不会刷新,用
户感觉不到实际上浏览器发出了请求。比如说我们希望网页总是显示最新的新闻,
而又不想老是去点刷新按钮,我们就可以用Ajax机制来实现。网上的客服软件也是
ajax请求的一个比较好的案例。传统的请求页面将实现刷新,因此局限性很大。
 


  1.

      为什么用AJAX?

      使用AJAX,用户对Web的体验会更“敏捷”:数据提交页面不会闪屏;页面局部
      更新速度快;网络带宽占用低。

  2.

      AJAX开发相较传统模式的简单之处:

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

  3.

      AJAX开发相较传统模式的难度:

      需要了解、精通JavaScript,而JavaScript存在调试麻烦、浏览器兼容性等很
      多障碍。


=================================
有如下几种区别:




1. Ajax在提交、请求、接收时,都是异步进行的,网页不需要刷新;

    Form提交则是新建一个页面,哪怕是提交给自己本身的页面,也是需要刷新的;



2. A在提交时,是在后台新建一个请求;

    F却是放弃本页面,而后再请求;



3. A必须要使用JS来实现,不启用JS的浏览器,无法完成该操作;

    F却是浏览器的本能,无论是否开启JS,都可以提交表单;



4. A在提交、请求、接收时,整个过程都需要使用程序来对其数据进行处理;

    F提交时,却是根据你的表单结构自动完成,不需要代码干预;


在用easyui时,提交方式有一个
   
    
      
    
    <li class="L0"><span class="kwd">function</span><span class="pln"> submitForm</span><span class="pun">(){</span></li><li class="L1"><span class="pln">            $</span><span class="pun">(</span><span class="str">'#ff'</span><span class="pun">).</span><span class="pln">form</span><span class="pun">(</span><span class="str">'submit'</span><span class="pun">);</span></li><li class="L2"><span class="pln"></span><span class="pun">}</span></li>
用这种方式提交依然是ajax提交,在spring-controller里面返回的字符串是以数据的形式返回,因此不能跳转页面。

所以只能用document.getElementById("").submit();的方式提交才是表单的提交方式。