jquery-iframe-transport不适用于IE8中的jquery文件上传

时间:2014-02-19 10:36:57

标签: javascript jquery file-upload internet-explorer-8 jquery-iframe-transport

我正在使用jQuery file upload在IE8中上传文件。由于这是一个旧的非HTML5友好浏览器,我使用的是jQuery Iframe Transport Plugin 1.8.2。

未调用'done'且Iframe内容显示为空。

代码:

$('#files').fileupload({
        dataType: 'json',
    url: "/FileUploads/Upload",
    type: 'PUT',
    forceIframeTransport: true,
    progressall: function (e, data) {
        var progress = parseInt(data.loaded / data.total * 100, 10);
        $('#progress .bar').css(
            'width',
            progress + '%'
        );
    },
add: function (e, data) {
            data.context = $('<button/>').text('Upload')
                .appendTo($('#FileUploadsDrop'))
                .click(function () {
                    data.context = $('<p/>').text('Uploading...'+$('#files').val()).replaceAll($(this));
                    data.submit();
                });
        },
        done: function ( e, data ) {
            var result = $( 'pre', data.result ).text();
                if(result != null && $.trim( result ) != '' ){
                $('#FileUploadsDrop').append( result );
}
    }

    });`

以下是DOM情况: enter image description here

1 个答案:

答案 0 :(得分:1)

在IE控制台中,无法查看json对象。所以,我使用JSON.stringify来检查服务器返回的内容。浏览器似乎无法解析返回的数据,因此JSON对象返回了一条错误消息。

我遇到此问题的原因是由于返回的数据实际上不是json。

因此,为解决此问题,我删除了dataType: 'json',

问题解决了。