2

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

没有调用“完成”,并且 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的情况: 在此处输入图像描述

4

1 回答 1

1

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

我遇到这个问题的原因是因为返回的数据实际上不是 json。

所以,为了解决这个问题,我删除了dataType: 'json',

问题解决了。

于 2014-02-20T10:11:06.880 回答