使用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);
}
本文针对使用jQuery.form.js进行附件上传时出现的错误进行了详细解析,并提供了具体的修复方案,包括将缺失的方法整合进jQuery.form.js文件中。
529

被折叠的 条评论
为什么被折叠?



