jQuery MiniUI

 找回密码
 立即注册
查看: 3321|回复: 3
打印 上一主题 下一主题

ajaxFileUpload返回值不同的浏览器效果不同 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2019-9-5 15:38:35 |只看该作者 |倒序浏览
$.ajaxFileUpload({
            url: uploadData.data.url,                 //用于文件上传的服务器端请求地址
            secureuri: false,
            fileElementId: inputFile,               //文件上传域的ID
            data: uploadData.data,            //附加的额外参数
            dataType: 'json',                   //返回值类型 一般设置为json
            success: function (data, status)    //服务器成功响应处理函数
            {
                    if(data.success){
                            mini.get("errTextArea").setValue(data.msg);
                    }else{
                            var te = "导入失败\n";
                            for(var i=0;i<data.obj.length;i++){
                                    te = te + data.obj[i] +"\n";       
                            }
                        mini.get("errTextArea").setValue(te);
                    }
            },
            error: function (data, status, e)   //服务器响应失败处理函数
            {
                    var errText = data.responseText.substring(0,data.responseText.indexOf("<"));
                    var errJson = mini.decode(errText);
                    if(errText==""){mini.get("errTextArea").setValue("数据重复上传,30秒后可重新上传");return;}
                    var te = "";
                    if(errJson.success){mini.get("errTextArea").setValue(errJson.msg);return;}else{te=te+"导入失败"+"\n"}
                    for(var i=0;i<errJson.obj.length;i++){
                            te = te + errJson.obj[i] +"\n";       
                    }
                mini.get("errTextArea").setValue(te);
            },
            complete: function () {
                    mini.hideMessageBox(messageId);
            }
        });
这个控件上传的时候,后台同样的参数,qq浏览器的返回值在error里,google的返回值在success里

Rank: 8Rank: 8

沙发
发表于 2019-9-5 16:51:25 |只看该作者
error的时候看返回的错误信息是什么

Rank: 2

板凳
发表于 2019-9-5 17:57:24 |只看该作者
本帖最后由 mini_cxq 于 2019-9-6 08:39 编辑
felt 发表于 2019-9-5 16:51
error的时候看返回的错误信息是什么


  //dataType: 'json',                   //返回值类型 一般设置为json
之前报错,是我指定了返回类型
去掉后,然后  在/ajaxfileupload.js里加入
if (type == "json")
            //eval("data = " + data);//原生自带的
                console.log(1);//这句没用,但是不能去掉
                data = jQuery.parseJSON(jQuery(data).text());
就可以进success了

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

地板
发表于 2019-9-6 10:42:16 |只看该作者
mini_cxq 发表于 2019-9-5 17:57
//dataType: 'json',                   //返回值类型 一般设置为json
之前报错,是我指定了返回类型
...

我们检查一下,可能不同浏览器返回的数据格式不同了,引起了解析问题。

Archiver|普加软件

GMT+8, 2024-11-27 21:44 , Processed in 1.039048 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部