国产精品成人VA在线观看,亚洲日韩在线中文字幕综合,亚洲AV电影天堂男人的天堂,久久人人爽人人爽人人av东京热

News新聞

業(yè)界新聞動(dòng)態(tài)、技術(shù)前沿
Who are we?

您的位置:首頁(yè)      網(wǎng)站知識(shí)      html中異步上傳文件實(shí)現(xiàn)示例

html中異步上傳文件實(shí)現(xiàn)示例

標(biāo)簽: 發(fā)布日期:2014-02-13 00:00:00 1568

有些時(shí)候我們希望可以在同一個(gè)頁(yè)面與服務(wù)器進(jìn)行交互,并不希望提交完表單后切換到另一個(gè)頁(yè)面去,怎么辦呢,這里分享幾種表單提交的方式

代碼如下:

<form action="/hehe" method="post"> 
<input type="text" value="hehe"/> 
<input type="submit" value="upload" id="upload"/> 
</form> 


 

復(fù)制代碼
代碼如下:

這是html中最常見(jiàn)最簡(jiǎn)單的表單提交方式,但是這種方式必須會(huì)切換頁(yè)面,也許有些時(shí)候我們希望可以在同一個(gè)頁(yè)面與服務(wù)器進(jìn)行交互,并不希望提交完表單后切換到另一個(gè)頁(yè)面去,怎么辦呢,這里分享幾種表單提交的方式。 
首先介紹一種曲線(xiàn)救國(guó)的解法,以上的代碼片段不用改變,只要添加以下代碼 


 

復(fù)制代碼
代碼如下:

<iframe id="uploadFrame" name="uploadFrame"></iframe> 


并且在form表單中添加target屬性,target=uploadFrame,target屬性需要與iframe中的id的值一致(或者是name屬性的值,試一試就知道了)。 

簡(jiǎn)單解釋一下,其實(shí)這里我們的表單提交之后也是刷新了,但是為什么沒(méi)有跳轉(zhuǎn)頁(yè)面呢,就是因?yàn)檫@個(gè)iframe,其實(shí)我們刷新在iframe中了,而iframe是空的,也就跟沒(méi)有刷新是一樣的了,就給我們一種異步的感覺(jué),這并不是正統(tǒng)的方法,但是也不失為一種曲線(xiàn)救國(guó)方式,當(dāng)然很多情況下這種方式也不適用,比如我們希望提交完成表單后從服務(wù)器取回點(diǎn)什么東西,這種方法顯然就不行了,這里我們還需要真正的異步提交表當(dāng)。 

(二)jquery異步提交表單 

這里介紹的是jquery的一種提交表單的插件ajaxupload,使用方式也是比較簡(jiǎn)單的 
 

復(fù)制代碼
代碼如下:

<body> 
<form action="/hehe" method="post"> 
<input type="text" value="hehe"/> 
<input type="button" value="upload" id="upload"/> 
<!--<input type="button" value="send" onclick="send()"/>--> 
</form> 
<script> 
(function(){ 
new AjaxUpload("#upload", { 
action: '/hehe', 
type:"post", 
data: {}, 
name: 'textfield', 
onSubmit: function(file, ext) { 
alert("上傳成功"); 
}, 
onComplete: function(file, response) { 

}); 
})(); 
</script> 
</body> 


這里貼出了主要的代碼,在頁(yè)面渲染完成之后,我們就使用一個(gè)自執(zhí)行的函數(shù)給id為upload的按鈕添加異步上傳事件,new AjaxUpload(id,object)中的id對(duì)應(yīng)的就是綁定對(duì)象的id,至于第二個(gè)參數(shù)中介紹一下data是附加的數(shù)據(jù),name可以隨意,onSubmit函數(shù)是上傳文件之前的回調(diào)函數(shù),第一個(gè)參數(shù)file是文件名,ext是文件的后綴名,至于onComplete函數(shù)中可以處理服務(wù)器返回的數(shù)據(jù)。以上是兩種簡(jiǎn)單的文件上傳客戶(hù)端的實(shí)現(xiàn)。