向后台交互方式:
1.form表單提交,action=“url”
2.ajax異步提交
區別:
form在提交之后無法獲得后台的回調參數,只能由后台工作人員控制提交成功之后的路徑跳轉;優點是可以直接提交文件,如:圖片、txt文件等;
ajax很好的處理字符格式的提交並獲取提交成功之后的回調參數,但是無法提交圖片。
ajax提交圖片只能把圖片格式轉化為進制流模式
解決方式:
1 <script type="text/javascript" src="jquery.js"></script> 2 <script type="text/javascript" src="ajaxfileupload.js"></script>
html:
1 <img alt="" id="businessLicenceuploadImage" src="" style="width:150px;height: 160px;"> 2 <input type="file" id="businessLicenceImage" name="files" class="file" onChange="ajaxFileUploads('businessLicenceImage','businessLicenceuploadImage','businessLicenceNumberElectronic');"/></a> 3 <input type="hidden" class="text w200" name="businessLicenceNumberElectronic" id="businessLicenceNumberElectronic"/> 4
js:
1 function ajaxFileUploads(myBlogImage,imgId,img){ 2 $.ajaxFileUpload({ 3 url: '', 4 secureuri:false, //是否啟用安全提交,默認為false 5 fileElementId:myBlogImage, //文件選擇框的id屬性 6 dataType:'json', //服務器返回的格式,可以是json或xml等 7 fileSize:5120000, 8 allowType:'jpg,jpeg,png,JPG,JPEG,PNG', 9 success:function(data, status){ //服務器響應成功時的處理函數 10 if( true == data.success){ //0表示上傳成功(后跟上傳后的文件路徑),1表示失敗(后跟失敗描述) 11 $("img[id='"+imgId+"']").attr("src", "${imgServer}"+data.result); 12 $("#"+img).val(data.result); 13 alert('圖片上傳成功'); 14 } 15 }, 16 error:function(data, status, e){ //服務器響應失敗時的處理函數 17 alert(e); 18 } 19 }); 20 }