jQueryFileUpload不触发“完成”

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (136)

我用jQuery-文件上传插件。我编写了一段简单的代码来测试它--它可以工作,但也不是没有问题。不会触发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]" />
提问于
用户回答回答于

我换了几样东西,而且很管用。在此:

$('#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) {
            /**/
        });
    }
});
用户回答回答于

如果服务器没有返回JSON,请尝试删除:

dataType: 'json'

否则,你可能会遇到一个失败事件,该事件很容易测试:

fail: function(e, data) {
  alert('Fail!');
}

扫码关注云+社区

领取腾讯云代金券