文件上傳是網(wǎng)站常用的功能,例如附件或圖片的上傳功能,解決方案也有很多,我們今天介紹一種通過jQuery無刷新的文件上傳方式。
			首先,我們在頁面中放一個form,用來上傳文件:
			 
			復(fù)制代碼代碼如下:
			
		<form id="myForm" method="post" action="/asyncFileUpload/UploadHandler.ashx" 
		    enctype="multipart/form-data" target="asyncTarget">
		    <span>文件:</span>
		    <input type="file" name="myFile" />
		</form>
		<input type="button" value="上傳" id="btnUpload" />
			 
			然后,在頁面中放一個iframe,在上傳的時候只刷新iframe,而不是整個網(wǎng)頁:
			 
			復(fù)制代碼代碼如下:
			
		<iframe name="asyncTarget" style="display: none;"></iframe>
			 
			接下來使用js為按鈕添加功能:
			 
			復(fù)制代碼代碼如下:
			
		<script>
		    $(function () {
		        $("#btnUpload").click(function () {
		            $("#myForm").submit();
		        });
		    });
		</script>
			 
			在按鈕單擊的時候,將form提交。
			這個方案可以簡單的實(shí)現(xiàn)無刷新的文件上傳。它的實(shí)現(xiàn)思路是:將form提交到一個iframe中,其它的處理就像處理普通的form提交一樣了。
			這個方案的待完善地方是如何判斷上傳完成,目前只有一個思路:通過js監(jiān)聽iframe的readystate,然后解析iframe的內(nèi)容。