我正在使用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情况:
答案 0 :(得分:1)
在IE控制台中,无法查看json对象。所以,我使用JSON.stringify来检查服务器返回的内容。浏览器似乎无法解析返回的数据,因此JSON对象返回了一条错误消息。
我遇到此问题的原因是由于返回的数据实际上不是json。
因此,为解决此问题,我删除了dataType: 'json',
问题解决了。