我正在使用jQuery File Upload(https://github.com/blueimp/jQuery-File-Upload)。我在服务器端上载处理程序中使用了Terascript,看来工作正常。
但是不幸的是,jQuery File Upload似乎想要在加载时调用上载处理程序,然后才告诉您要上载哪些文件并手动触发上载。上传处理程序会创建一个随机名称,但当然没有与之关联的实际文件。
http://dev.over60travel.com/sandbox/jquery-file-uploads/index.html
之后,一切似乎都正常。但是为什么它会触发加载加载?
答案 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。太棒了!