jQuery.handleError is not a function 問題

版權聲明:本文爲博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/li740207611/article/details/81292440

使用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了,這樣就本末倒置了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章