ajaxfileupload.jsがファイルをアップロードするときjQuery.handleError is not a functionの解決策

1713 ワード

jQuery.handleError is not a functionエラーの原因は:
jqueryバージョンの問題!!!
handlerErrorはjquery-1.4.2以前のバージョンにのみ存在し、jquery-1.4.2以降のバージョンにはこの関数はありません.
このjsコードセグメントはjquerに追加することができる.jsまたはajaxfileupload.jsファイルの末尾.jsコードは以下の通りです.
; (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;
                }
            })
});

注意:
1.上記のコードを追加する場合は、セミコロンをつけることを忘れずに、他の関数を区切って、
2.上記functionは括弧で囲まれている