ajaxfileupload.js实现文件异步上传

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,
	secureuri: false,
	fileElementId: ['biCardFile','taxCardFile','orgCardFile'],
	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("修改失败");
	}
});

//修改前
//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下载



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值