作业帮 > 综合 > 作业

引用(ajaxfileupload.js) ajaxfileupload.js报这错jQuery.handleError

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/08 17:01:33
引用(ajaxfileupload.js) ajaxfileupload.js报这错jQuery.handleError is not a function
在做ajaxFileUpload时,我也遇到这个问题,同时还有其它的问题,用了一下午的时间解决了:
问题1:如楼主所说,jQuery.handleError is not a function 原因是,经测试handlerError只在jquery-1.4.2之前的版本中存在,jquery-1.6 和1.7中都没有这个函数了,因此在1.4.2中将这个函数复制到了ajaxFileUpload.js中,问题解决
handleError:function( s,xhr,status,e ) \x09\x09{
// If a local callback was specified,fire it
\x09\x09if ( s.error ) {
\x09\x09\x09s.error.call( s.context || s,xhr,status,e );
\x09\x09}
\x09\x09// Fire the global callback
\x09\x09if ( s.global ) {
\x09\x09\x09(s.context jQuery(s.context) :jQuery.event).trigger( "ajaxError",[xhr,s,e] );
\x09\x09}
\x09},
问题2:一直得到error ,无法执行指定的success方法.通过追踪ajaxFileUpload的执行过程发现,在调用它自身的uploadHttpData函数时,当执行if(type=="json") eval("data = "+data);
会抛出异常,导致在处理异常的时候将status = "error" 因此一直执行error方法.
上网查询,得知eval函数是用来执行一段js代码,而并不是如我所想的反解json串
eval("data = "+data);的意思是 将data 赋值给 data参数 ,但是当我返回给页面的是一个简单的字符串,比如"OK" ,时,这样写就抛出异常.最后改为 eval("data = \" "+data+" \" ");即将返回的数据用双引号引起来当作字符串,然后赋给 data .终于成功了.
贴出来,希望可以帮助到其他同样遇到这个问题的人.