IE8下面的ajaxfileupload的上传文件处理。

来源:互联网 发布:众成证券软件 编辑:程序博客网 时间:2024/06/14 04:44

ie8下面很多人遇到了无法上传文件的bug,具体来说,就是选择文件的弹窗无法弹出来,调试后,弹出来选中文件的框以后,确发现上传以后也没有成功提示,反而出现js错误。


经查是因为ajaxfileupload需要改进才能支持ie8下面的json解析。


具体是在ajaxfileupload的98行以后。

添加改动以下代码:

把:

var data = jQuery.uploadHttpData(xml, s.dataType); 

改为如下:


                        // process the data (runs the xml through httpData regardless of callback)
                    if (!$.support.leadingWhitespace) {  //ie6到ie8
//                     alert("ie6-8");
                    //var str = $(xml).text();
                    //alert(xml.responseText);
                    //var data = $.parseJSON(xml.responseText);
                    //alert(s.dataType);
                    var data = eval("data = " + xml.responseText);//jQuery.uploadHttpData(xml.responseText, s.dataType);
                    //alert(data);
//                     alert(data.success);
                    } else {
                    var data = jQuery.uploadHttpData(xml, s.dataType); //根据传送的type类型,返回json对象,此时返回的data就是后台操作后的返回结果
                    }





另外在上传处理的action中,要采用这样的方式返回header:

header("Content-Type: text/html");

1 0