AJAX提交與FORM提交的區別說明_AJAX相關

來源:互聯網
上載者:User

現在來對比一下ajax與隱藏form提交的利與弊。

1.隱藏form提交,更新資料完成後,需要轉到一個空白頁面再對原頁面進行提交後處理;ajax則不用,可以直接返回原頁面進行提交後的處理。可見ajax可以比隱藏form提交少增加一個頁面。

2.ajax出於安全性考慮,不能對檔案進行操作,所以就不能通過ajax來實現檔案上傳,而通過隱藏form提交則可以實現這個功能,所以這就是目前用隱藏form提交的主要用途。

現在接下來講述如何通過隱藏form來實現檔案上傳

1)首先定義一個用於填寫表單內容的form

<form name="form1"></form>

2)接著定義一個用於提交的form

<form name="form2" target="myIframe">  //用於指定提交返回的頁面顯示在這個隱藏的iframe中

<iframe name="myIframe" style="display:none"></iframe>  //用於存放提交返回後的空白頁面

<div id="formInner" style="display:none"></div>  //用於擷取form1的html內容,獲得form1的表單元素

</form>

3)在form1提交時,進行如下javascript處理

var formInner= document.getElementById("formInner");
formInner.innerHTML = form1.innerHTML;  //複製form1的html代碼
form2.action = form1.action;
form2.submit();

4)提交後,進入幕後處理,幕後處理完成後,需要返回一個空白頁面blank.jsp,這個頁面是在隱藏的iframe中產生的,所以可以通過parent對象對原頁面進行操作。

比如原頁面定義了一個updatePageFromSubmit(),則在blank.jsp頁面中可以通過parent.updatePageFromSubmit()來調用進行提交返回後的處理

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.