如何使用jQuery插件進行Ajax導(dǎo)步上傳文件
文件上傳操作是開發(fā)中常見的需求功能。PHP上傳文件時,我們只能使用$FILES形式,但如果我們只是單一地使用JS方式取其ID,如('img').value或者jQuery形式的$('img')都不能真
文件上傳操作是開發(fā)中常見的需求功能。PHP上傳文件時,我們只能使用$FILES形式,但如果我們只是單一地使用JS方式取其ID,如('img').value或者jQuery形式的$('img')都不能真正實現(xiàn)實際上傳。而功能上又要求實現(xiàn)所謂的“異步上傳”,怎么辦呢?只能借助于第三方組件,或者自己寫一個。在此介紹一個不錯的jQuery的Ajax文件上傳插件——。
引入jQuery庫文件及
首先引入jQuery.js庫文件及??梢灾苯酉螺d或引入CDN:
模板文件主要代碼
然后就可以開始編寫模板文件的主要代碼,包括form表單和一些JS函數(shù),具體步驟如下:
1. 編寫form表單,設(shè)置action、method和enctype等屬性,其中enctype屬性需要設(shè)置為"multipart/form-data"。
2. 編寫ajaxFileUpload()函數(shù),該函數(shù)調(diào)用了jQuery的$.ajax方法,并設(shè)置了url、secureuri、fileElementId、dataType、success和error等參數(shù)。
function ajaxFileUpload(){
$.ajaxFileUpload({
url:'', //服務(wù)端上傳處理文件
secureuri:false,
fileElementId:'fileToUpload',
dataType: 'json',
success: function (data, status){
if(data.flag 1){
alert("上傳成功!");
}else{
alert("上傳失??!");
}
},
error: function (data, status, e){
alert(e);
}
});
return false;
}
其中,url參數(shù)表示服務(wù)端上傳處理文件的地址;secureuri參數(shù)表示是否啟用安全uri;fileElementId參數(shù)表示要上傳的文件元素的id;dataType參數(shù)表示返回的數(shù)據(jù)類型;success參數(shù)表示上傳成功后的回調(diào)函數(shù);error參數(shù)表示上傳失敗后的回調(diào)函數(shù)。
服務(wù)端的上傳文件代碼
最后需要在服務(wù)端編寫上傳文件代碼,將上傳的文件從臨時目錄移動到指定目錄,并輸出一個數(shù)組并用json_encode序列化輸出。下面是一個簡單的示例代碼:
$results array('flag'>$flag);//$flag是上傳后返回的邏輯值(1表示成功,0表示失敗)
echo json_encode($results);
exit;
總之,通過以上這些步驟,即可輕松實現(xiàn)文件的Ajax導(dǎo)步上傳操作。