使用ajaxfileupload.js进行文件上传,出现的问题以及解决办法

今天使用ajaxfieldupload.js 上传文件出现两个问题:

1、handleerror is not a function

现在大家至少也在用jquery1.9以上的版本,ajaxfileupload的版本早就不更新了,它例子里使用的Jquery是1.2的,1.4.2之前的版本才有handlerError方法,之后就不存在了,,为了能够继续使用ajaxfileupload上传我们的附件,只好ajaxfileupload.js文件中修改handlerError方法,如下:

    handleError: function( s, xhr, 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] );  
                    }  
        }  

2、 终于可以上传了,但是又出现了另一个问题,上传成功后,不走success方法,无法获取到data值,原因是根本没走这个方法,到ajaxfileupload.js文件中uploadHttpData函数内将data打印下发现结果如下:
使用ajaxfileupload.js进行文件上传,出现的问题以及解决办法_第1张图片


data数据被加了pre标签了。。。

问题解决了。。。

最后贴一下ajaxfileupload.js全部代码

jQuery.extend({

    createUploadIframe: function(id, uri)
    {
            //create frame
            var frameId = 'jUploadFrame' + id;

            if(window.ActiveXObject) {
                //add by bdqn_hl 2014-3-2 start
                if(jQuery.browser.version=="9.0"){
                    io = document.createElement('iframe');
                    io.id = frameId;
                    io.name = frameId;
                }else if(jQuery.browser.version=="6.0" ||jQuery.browser.version=="7.0" ||jQuery.browser.version=="8.0"){
                    var io = document.createElement('