AjaxFileUpload實作檔案非同步上傳效果更好,使用簡單:
<!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="http://www.phpddt.com/usr/themes/dddefault/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="ajaxfileupload.js"></script> </head> <script> jQuery(function(){ $("#buttonUpload").click(function(){ //加载图标 /* $("#loading").ajaxStart(function(){ $(this).show(); }).ajaxComplete(function(){ $(this).hide(); });*/ //上传文件 $.ajaxFileUpload({ url:'upload.php',//处理图片脚本 secureuri :false, fileElementId :'fileToUpload',//file控件id dataType : 'json', success : function (data, status){ if(typeof(data.error) != 'undefined'){ if(data.error != ''){ alert(data.error); }else{ alert(data.msg); } } }, error: function(data, status, e){ alert(e); } }) return false; }) }) </script> <body> <input id="fileToUpload" type="file" size="20" name="fileToUpload" class="input"> <button id="buttonUpload">上传</button> </body> </html>
上傳還可以傳遞參數:
var data = { name: 'my name', description: 'short description' } $.ajaxFileUpload({ url: 'upload.php', secureuri: false, data: data, fileElementId: 'fileToUpload', dataType: 'json', success: function (data) { alert(data.msg); }, error: function (data) { alert("error"); } });
主要參數說明:
1,url表示處理檔案上傳操作的檔案路徑,可以測試URL是否能在瀏覽器中直接訪問,如上:upload.php
2,fileElementId表示文件域ID,如上:fileToUpload
3,secureuri是否啟用安全提交,預設為false
4,dataType數據數據,一般選json,javascript的原生態
5 ,success提交成功後處理函數
6,error提交失敗處理函數
需要了解相關的錯誤提示
1,SyntaxError: missing ; before statement錯誤
如果出現這個錯誤就需要檢查url路徑是否可以存取
如果出現這個錯誤就需要檢查處理提交操作的PHP檔案是否存在語法錯誤
如果出現這個錯誤就需要檢查屬性ID是否存在
4 SyntaxError: missing } in XML expression錯誤
5,其它自訂錯誤