jquery.form.js上传报错$.handleError

本文针对使用jQuery.form.js进行附件上传时出现的错误进行了详细解析,并提供了具体的修复方案,包括将缺失的方法整合进jQuery.form.js文件中。
使用jquery.form.js做附件上传时,遇到了两个问题 在网上找了很多的贴,都只是说缺少了$.handleError这个方法,其实还缺少另外一个方法,下面说说我的具体修复。 


1、先说一下报错的原因是:附件上传的方法里面缺少了$.handleError、以及$.httpData这两方法,(只要是jquery1.4以上的版本都没有这个两个方法了)


 2、我使用的Jquery的版本是1.8.0 


3、网上说把这两个方法从jquery-1.4里面复制到现有版本里面,我个人觉得不好,因为居然人家删掉了这两个方法了,为什么我们还要再往里面丢呢,所以我就把这个两个方法放到jquery.form.js里面,当成私有的方法,这样就不对引起冲突了。
 
4、还需要把jquery.form.js中,调用这两个方法的地方,删掉"$."
$.httpData(xhr, opts.dataType);
$.handleError(opts, xhr, 'error', e);



function httpData(xhr, type, s) {
	var ct = xhr.getResponseHeader("content-type"),
	xml = type == "xml" || !type && ct && ct.indexOf("xml") >= 0,
	data = xml ? xhr.responseXML : xhr.responseText;
	if (xml && data.documentElement.tagName == "parsererror")
		throw "parsererror";
	if (s && s.dataFilter)
		data = s.dataFilter(data, type);
	if (typeof data === "string") {
		// If the type is "script", eval it in global context
		if (type == "script")
			jQuery.globalEval(data);
		if (type == "json")
			data = window["eval"]("(" + data + ")");
	}
	return data;
};
function handleError(s, xhr, status, e) {
	if (s.error)
		s.error(xhr, status, e);
	else if (xhr.responseText)
		console.log(xhr.responseText);
}


 

转载于:https://my.oschina.net/OriginLeon/blog/616378

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值