我使用jQuery-File-Upload插件。我写了一个简单的代码来测试它-它可以工作,但不是没有问题。它不会触发done
,即使文件已经上传并且进度条已经结束。
代码如下:
$('#file_file').fileupload({
dataType: 'json',
autoUpload: true,
add: function (e, data) {
data.context = $('<p/>').text('Uploading...').appendTo(document.body);
data.submit();
},
progressall: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .bar').css(
'width',
progress + '%'
);
},
done: function (e, data) {
alert('Done');
}
});
我的输入就是这么简单:
<input type="file" id="file_file" name="file[file]" />
发布于 2013-02-04 02:06:40
我改变了一些东西,它起作用了。这里:
$('#file_file').fileupload({
autoUpload: true,
add: function (e, data) {
$('body').append('<p class="upl">Uploading...</p>')
data.submit();
},
progressall: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .bar').css(
'width',
progress + '%'
);
},
done: function (e, data) {
$('.upl').remove();
$.each(data.files, function (index, file) {
/**/
});
}
});
发布于 2013-08-10 06:34:27
如果您的服务器没有返回JSON,请尝试删除:
dataType: 'json'
否则,您可能会以失败事件结束,这很容易测试:
fail: function(e, data) {
alert('Fail!');
}
发布于 2016-06-19 01:40:57
尝试文档中所述的this Callback Option:
$('#fileupload').bind('fileuploaddone', function (e, data) {
alert('Done');
});
这对我来说肯定很有效。
https://stackoverflow.com/questions/14674999
复制相似问题