- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) > web開(kāi)發(fā) >
- AJAX提交與FORM提交的區別是什么
這篇文章主要講解了“AJAX提交與FORM提交的區別是什么”,文中的講解內容簡(jiǎn)單清晰,易于學(xué)習與理解,下面請大家跟著(zhù)小編的思路慢慢深入,一起來(lái)研究和學(xué)習“AJAX提交與FORM提交的區別是什么”吧!
現在來(lái)對比一下ajax與隱藏form提交的利與弊。
1.隱藏form提交,更新數據完成后,需要轉到一個(gè)空白頁(yè)面再對原頁(yè)面進(jìn)行提交后處理;ajax則不用,可以直接返回原頁(yè)面進(jìn)行提交后的處理??梢?jiàn)ajax可以比隱藏form提交少增加一個(gè)頁(yè)面。
2.ajax出于安全性考慮,不能對文件進(jìn)行操作,所以就不能通過(guò)ajax來(lái)實(shí)現文件上傳,而通過(guò)隱藏form提交則可以實(shí)現這個(gè)功能,所以這就是目前用隱藏form提交的主要用途。
現在接下來(lái)講述如何通過(guò)隱藏form來(lái)實(shí)現文件上傳
1)首先定義一個(gè)用于填寫(xiě)表單內容的form
<form name="form1"></form>
2)接著(zhù)定義一個(gè)用于提交的form
<form name="form2" target="myIframe"> //用于指定提交返回的頁(yè)面顯示在這個(gè)隱藏的iframe中
<iframe name="myIframe" ></iframe> //用于存放提交返回后的空白頁(yè)面
<div id="formInner" ></div> //用于獲取form1的html內容,獲得form1的表單元素
</form>
3)在form1提交時(shí),進(jìn)行如下javascript處理
var formInner= document.getElementById("formInner");
formInner.innerHTML = form1.innerHTML; //復制form1的html代碼
form2.action = form1.action;
form2.submit();
4)提交后,進(jìn)入后臺處理,后臺處理完成后,需要返回一個(gè)空白頁(yè)面blank.jsp,這個(gè)頁(yè)面是在隱藏的iframe中生成的,所以可以通過(guò)parent對象對原頁(yè)面進(jìn)行操作。
比如原頁(yè)面定義了一個(gè)updatePageFromSubmit(),則在blank.jsp頁(yè)面中可以通過(guò)parent.updatePageFromSubmit()來(lái)調用進(jìn)行提交返回后的處理
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系站長(cháng)郵箱:ts@56dr.com進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。
Copyright ? 2009-2021 56dr.com. All Rights Reserved. 特網(wǎng)科技 版權所有 珠海市特網(wǎng)科技有限公司 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2 建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站