jQuery.handleError is not a function 问题

使用jQuery提供的fileupload

出现handleError is not a function,使用网上提供的在fileupload.js文件里面添加下面的函数,并不能解决我的问题,而且我并没有发现该文件,我是使用chrom提供的开发者工具,调试然后找到出现这个问题的js文件,通过chrome调试工具直接可以看到报错的代码行,然后在项目中找到该js文件,添加一个全局or局部的函数,就是网上提供的函数。


$.handleError = function(xhr, s, status, e) {
                // If a local callback was specified, fire it
                if ( s.error ) {
                    s.error.call( s.context || s, xhr, status, e );
                }

                // Fire the global callback
                if ( s.global ) {
                    (s.context ? jQuery(s.context) : jQuery.event).trigger( "ajaxError", [xhr, s, e] );
                }
            };

错误继续存在,只是换了一个地方

然后你会发现问题并没有解决,然年我就继续google,然后有一个人在调试该问题的时候发现在调用完成后的返回值解析中,出现了问题。然后我继续调试,发现返回值data中包含有非json格式的数据,<pre>html标签,这个应该是有的框架或者什么框架对返回值进行二次包装导致的,既然找到问题,那就对data进行解析,取出json数据即可。通过chrome调试工具找到你的错位的代码行,然后进行处理
 if (opts.dataType == 'json') {
                        var start = data.indexOf("{");
                        if(start != -1) {
                            var end = data.indexOf("}", start + 1);
                            if(end != -1) {
                                data = data.substring(start, end + 1);
                            }
                            eval("data = " + data);
                        }
 }

对上述代码进行解析:

这里写图片描述

总结

现在前端和后端其实区别不大,出现问题都可以通过调试去一步步发现问题,所以通过这次解决问题的过程,我发现google是必不可少的,但是自己的思考过程也必须存在,不然时间长了,就只会Google了,这样就本末倒置了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值