手记

jquery.form附件上传的


jquery.form.js上传出现$.handleError  、以及  $.httpData错误 

或表单提交不了:

 原因:

 首先,jquery1.4以后的版本不在支持这两个方法。

 解决方法:

  添加

(在jquery.form.js)中添加如下方法:

$.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; };


$.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]); } 

}


这两个函数 即可。


另外:高版本的js放在最前面,低版本的应放在后面。表单提交不了。

submitform_validator.js 中应把 script:[websiteurl] 修改成 script[websiteurl]


0人推荐
随时随地看视频
慕课网APP