jQuery.form Ajax无刷新上传报错 (jQuery.handleError is not a function) 解决办法

最近正紧锣密鼓的开发公司的商城系统,做用户中心的时候上传图片莫名奇妙的报了一个“jQuery.handleError is not a function”的错误。因为在以前使用jQuery.form一直都没有出现过这个问题,我对比以前的项目才发现,在这个项目中使用的jQuery是1.10.2的版本,而以前是使用的1.4.2。度娘一番之后,找到解决办法:

jQuery.handleError is not a function 报错原因是:
1.handlerError只在jquery-1.4.2之前的版本中存在,jquery-1.4.2之后的版本中都没有这个函数了。
2.如果返回的dataType: “json”, 是json格式的,则还需要添加httpData方法。

因此在jquery高级版本中将这个函数添加上 ,问题解决。

; (function ($) {
    jQuery.extend({
        handleError: function (s, xhr, status, e) {
            if (s.error) {
                s.error.call(s.context || s, xhr, status, e);
            }
            if (s.global) {
                (s.context ? jQuery(s.context) : jQuery.event).trigger("ajaxError", [xhr, s, e]);
            }
        },
        httpData: function (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 (type == "script")
                    jQuery.globalEval(data);
                if (type == "json")
                    data = window["eval"]("(" + data + ")");
            }
            return data;
        }
    });
});

本博客所有文章如无特别注明均为原创

如果觉得对你有帮助,可以通过下方打赏对作者表示鼓励

本文采用知识共享署名-非商业性使用-相同方式共享

如若转载,请注明出处:《jQuery.form Ajax无刷新上传报错 (jQuery.handleError is not a function) 解决办法》https://www.fangsi.net/772.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
锋哥的头像锋哥管理员
上一篇 2014年2月24日 11:25
下一篇 2014年3月24日 11:49

相关推荐

发表回复

登录后才能评论