AJAX提交與FORM提交的區(qū)別說明
現(xiàn)在來對比一下ajax與隱藏form提交的利與弊。
1.隱藏form提交,更新數(shù)據(jù)完成后,需要轉(zhuǎn)到一個(gè)空白頁面再對原頁面進(jìn)行提交后處理;ajax則不用,可以直接返回原頁面進(jìn)行提交后的處理??梢奱jax可以比隱藏form提交少增加一個(gè)頁面。
2.ajax出于安全性考慮,不能對文件進(jìn)行操作,所以就不能通過ajax來實(shí)現(xiàn)文件上傳,而通過隱藏form提交則可以實(shí)現(xiàn)這個(gè)功能,所以這就是目前用隱藏form提交的主要用途。
現(xiàn)在接下來講述如何通過隱藏form來實(shí)現(xiàn)文件上傳
1)首先定義一個(gè)用于填寫表單內(nèi)容的form
<form name="form1"></form>
2)接著定義一個(gè)用于提交的form
<form name="form2" target="myIframe"> //用于指定提交返回的頁面顯示在這個(gè)隱藏的iframe中
<iframe name="myIframe" style="display:none"></iframe> //用于存放提交返回后的空白頁面
<div id="formInner" style="display:none"></div> //用于獲取form1的html內(nèi)容,獲得form1的表單元素
</form>
3)在form1提交時(shí),進(jìn)行如下javascript處理
var formInner= document.getElementById("formInner");
formInner.innerHTML = form1.innerHTML; //復(fù)制form1的html代碼
form2.action = form1.action;
form2.submit();
4)提交后,進(jìn)入后臺處理,后臺處理完成后,需要返回一個(gè)空白頁面blank.jsp,這個(gè)頁面是在隱藏的iframe中生成的,所以可以通過parent對象對原頁面進(jìn)行操作。
比如原頁面定義了一個(gè)updatePageFromSubmit(),則在blank.jsp頁面中可以通過parent.updatePageFromSubmit()來調(diào)用進(jìn)行提交返回后的處理
相關(guān)文章
.NET2.0環(huán)境下的Ajax選型和應(yīng)用(提供Demo源碼下載)
.NET2.0環(huán)境下的Ajax選型和應(yīng)用(提供Demo源碼下載)...2007-05-05ajax設(shè)置async校驗(yàn)用戶名是否存在的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猘jax設(shè)置async校驗(yàn)用戶名是否存在的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08妙用Ajax技術(shù)實(shí)現(xiàn)局部刷新商品數(shù)量和總價(jià)實(shí)例代碼
這篇文章主要給大家介紹妙用Ajax技術(shù)實(shí)現(xiàn)局部刷新商品數(shù)量和總價(jià)實(shí)例代碼,非常不錯(cuò),需要的朋友一起看看吧2016-05-05Ajax實(shí)現(xiàn)靜態(tài)刷新頁面過程帶加載旋轉(zhuǎn)圖片
當(dāng)然你也可以使用jquery或者ajax寫動(dòng)態(tài)加載table的方式來實(shí)現(xiàn),方式多種多樣,感興趣的朋友可以了解下,希望本文提供的靜態(tài)刷新頁面對你學(xué)習(xí)ajax有所幫助2013-02-02基于HTML5 Ajax文件上傳進(jìn)度條如何實(shí)現(xiàn)(jquery版本)
本文給大家介紹基于html5 ajax文件上傳進(jìn)度條是如何實(shí)現(xiàn)的,涉及到html5新增加的formdata對象的使用,對html5文件上傳進(jìn)度條感興趣的朋友一起學(xué)習(xí)吧2015-11-11