加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajaxfileupload.js实现文件异步上传

发布时间:2020-12-16 01:32:00 所属栏目:百科 来源:网络整理
导读: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.a

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行左右

修改版本ajaxfileupload.js下载

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读