jQuery文件上传在加载时调用上传处理程序

时间:2018-10-30 10:12:03

标签: javascript jquery file jquery-file-upload blueimp

我正在使用jQuery File Upload(https://github.com/blueimp/jQuery-File-Upload)。我在服务器端上载处理程序中使用了Terascript,看来工作正常。

但是不幸的是,jQuery File Upload似乎想要在加载时调用上载处理程序,然后才告诉您要上载哪些文件并手动触发上载。上传处理程序会创建一个随机名称,但当然没有与之关联的实际文件。

http://dev.over60travel.com/sandbox/jquery-file-uploads/index.html

之后,一切似乎都正常。但是为什么它会触发加载加载?

2 个答案:

答案 0 :(得分:0)

感谢jQuery-File-Upload的作者Sebastian Tschan为这个问题提供答案。

在加载时,应用确实确实会调用上传模块。我仍然不确定为什么,但是阻止它的方法是注释掉“ main.js”中的以下几行。

        // Load existing files:
//    $('#fileupload').addClass('fileupload-processing');
//    $.ajax({
        // Uncomment the following to send cross-domain cookies:
        //xhrFields: {withCredentials: true},
//        url: $('#fileupload').fileupload('option', 'url'),
//        dataType: 'json',
//        context: $('#fileupload')[0]
//    }).always(function () {
//        $(this).removeClass('fileupload-processing');
//    }).done(function (result) {
//        $(this).fileupload('option', 'done')
//            .call(this, $.Event('done'), {result: result});
//    });

答案 1 :(得分:0)

在星期五晚上我突然意识到这实际上是一个文件管理(而不是上传)界面。加载时,您正在请求现有文件的列表,而这正是导致我出现问题的过程。很抱歉有点慢。 ;)

我已经更改了上传处理程序,因此,如果在没有文件参数的情况下调用它,则不会返回任何内容。那是我最初的治疗方法。然后塞巴斯蒂安建议删除要求它在加载时的代码,这是一个更好的解决方案。现在,我了解了为什么将其称为onload了,我想我可以尝试使其按预期的方式工作。

我已取消注释该代码,并更改了我的上传处理程序,因此,如果未发送文件参数,它将以文档中指定的格式返回JSON。太棒了!