1. 程式人生 > >form表單提交與ajax提交的區別

form表單提交與ajax提交的區別

原文地址:https://blog.csdn.net/yao302789/article/details/50954902

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();的方式提交才是表單的提交方式。