html中:
var param = $("#inputForm").serialize(); url = $("#inputForm").attr("action"); $.ajaxFileUpload({ url: url,secureuri: false,fileElementId: 'biCardFile' dataType: 'json',success: function (data,status) { if (data.result == '0') { layer.alert(data.resultMsg,1,function() { $("#searchForm",window.parent.document).attr("action","${ctx}/merchant/merchantIdentity/"); $("#searchForm",window.parent.document).submit(); }); } else { layer.alert(data.resultMsg); } },error: function (data,status,e) { layer.alert("修改失败"); } });注意:form表单的提交方式method="post";enctype="multipart/form-data"
另外:有童鞋修改js代码支持多文件异步上传,区别为fileElementId后面的参数
var param = $("#inputForm").serialize(); url = $("#inputForm").attr("action"); $.ajaxFileUpload({ url: url,fileElementId: ['biCardFile','taxCardFile','orgCardFile'],dataType: 'json',e) { layer.alert("修改失败"); } });
//修改前 //if(fileElement == null) //oldElement = jQuery('#' + fileElementId[i]); //else //oldElement = fileElement; //var newElement = jQuery(oldElement).clone(); //jQuery(oldElement).attr('id',fileId); //jQuery(oldElement).before(newElement); //jQuery(oldElement).appendTo(form); //修改后 for(var i in fileElementId){ if(fileElement == null) oldElement = jQuery('#' + fileElementId[i]); else oldElement = fileElement; var newElement = jQuery(oldElement).clone(); jQuery(oldElement).attr('id',fileId); jQuery(oldElement).before(newElement); jQuery(oldElement).appendTo(form); }
修改位置大概40行左右
ajaxfileupload修改前后对比
另外,dataType=“json”可能导致不管请求成功或失败都会回调error。因为返回的json字符串被包装为<pre>json</pre>。
解决方法为:
//修改前 //eval( "data = " + data ); //修改后 data = jQuery.parseJSON(jQuery(data).text());
修改位置大概215行左右