jquery.form.js错误$.handleError is not a function的解决方法

使用jquery.form.js插件,提交表单的时间,提示错误$.handleError is not a function的错误,完整错误如下:

TypeError: $.handleError is not a function jquery.form.js:339:7

错误原因:

$.handleError存在于jQuery-1.4.2之前的版本中,jQuery-1.4.2之后的版本废弃了$.handleError

解决方法:

1、把jquery.js库换成1.4.2之前的版本。(不推荐该方法)

2、在使用的jquery.js文件中添加以下代码:(推荐)

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.js文件中。

网友留言(0条)

发表评论