解决jQuery-File-Upload在IE9下的问题

发布时间:2019-05-26 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了解决jQuery-File-Upload在IE9下的问题脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

最近编写了一个上传文件的功能,支持ie9+.所以选用了 jQuery-File-Upload。但是在IE9测试时,产生了麻烦的问题,在这里记录一下。

头文件问题,

股务端接口要返回text/htML文件。因为ie9不认识application/json格式的。在IE9下面,会弹出下载的问题。

在我修改过程中后端同学说改了,然后我很信任它。然后改过后,还是有下载的问题。不知道所措,最后发现是后端没有修改成功。。。

JS代码设置部分。

首先,在文件的加载上。代码如下

const fileList = ((pathFix) => {return [
        `${pathFix}/jqueryuploader/vendor/jquery.ui.widget.js`,
        `${pathFix}/jqueryuploader/jquery.fileupload.js`,
        ...(laterIE ? [`${pathFix}/jqueryuploader/cors/jquery.xdr-transport.js`]
        : []),
        `${pathFix}/jqueryuploader/jquery.iframe-transport.js`,
        ];
    })('/static/static');

上面是我下载的文件列表。在ie9下面,多加载了一个jquery.xdr-transport.js文件。

其次,是在配置方面

$(fupload).fileupload({
            url: server.dataPoiUpload,
            dataType: 'json',
            autoUpload: true,
            formData: {geotable_id: geotableId, sn: mStore.getSN(), user: mStore.getUsername()},
            sequentialUploads: true,
            done: function(e, cdata) {
                var result = cdata.result;
                const data = ((rdata) => {
                    return typeof rdata === 'object' ? rdata : JSON.parse(rdata);
                })(result);
                
            },
            progressall: function(e, data) {
                console.log('update progressall');
                var progress = parseInt(data.loaded / data.total * 100, 10);
                self.setState({
                    'progress': progress
                });
                
            },
            change: function() {
                self.setState({
                    status: 'updating',
                    uploadBtn: false
                })
                console.log('upload change');
            },
            success: function(cdata, status, object) {
                const data = ((cd) => {
                    return typeof cd === 'object' ? cd : JSON.parse(cd);
                })(cdata);
                
            }
        }).error(function() {
            console.log(arguments, 'error');
        });

上面主要是在配置方面。主要注意几点:1,设置dataType. 2, success返回值时,chrome与ie返回值格式不一样。这里做一判断

以上是主要的关键点。留做总结,希望能帮助也在使用此组件的人

脚本宝典总结

以上是脚本宝典为你收集整理的解决jQuery-File-Upload在IE9下的问题全部内容,希望文章能够帮你解决解决jQuery-File-Upload在IE9下的问题所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。