【问题标题】:getting error when trying to use jquery fileUpload尝试使用 jquery fileUpload 时出错
【发布时间】:2014-01-06 21:35:02
【问题描述】:

我让用户选择文件,然后在他们使用jquery fileupload 脚本单击上传按钮后尝试以编程方式上传它们

HTML 如下所示:

<input name="my_image[]" id="my_file" type="file" multiple="multiple">

jquery 调用如下所示:

$('#start-upload').click(function(e) {

    var filesList = $('#my_file')[0].files;
    //var filesList = $('#my_file').prop("files");

    var url = 'photos/index.php';
    $('#my_file').fileupload('send', {
        files: filesList,
        url: url,
        dataType: 'json',
        start: function(e, data) {
            console.log("Upload started");
        },
        done: function (e, data) {
            console.log("Upload complete");
        }  
    });
});

这是我得到的错误:

Uncaught Error: cannot call methods on fileupload prior to initialization; attempted to call method 'send' 

知道我在做什么吗?

【问题讨论】:

  • 错误信息对我来说似乎很容易解释。 The very first section on the page you link to 展示了如何初始化插件。
  • 我一定错过了明显的......
  • 我猜你必须先用一个 JS 对象作为参数来初始化文件上传,然后你才能调用它的其他方法(例如 send 在这种情况下)。 gilly3 发布的链接显示了如何正确初始化它的示例
  • 我认为您缺少的并不是那么明显,@Paul。我正在尝试进行程序上传,并得到同样的错误。该文档不建议我们必须在调用 send 之前初始化插件,我认为在 send 调用中传递所有必需的选项就足够了。

标签: javascript jquery html jquery-file-upload


【解决方案1】:

它没有被初始化。确保您首先拥有以下内容:

$(document).ready(function(){
   $('#my_file').fileupload({ url: 'your_url' ...} );
});

干杯

【讨论】:

  • 它对我不起作用,它会在选择文件后立即开始上传。
【解决方案2】:

为了扩展 Edgar 的答案,这就是我设置以编程方式提交的方式:

//Initialize
$('#file').fileupload({
  url: 'someUrl'
});

//Trigger the submit

$('#file').fileupload({
  fileInput: $('#file')
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-07
    • 1970-01-01
    • 2017-07-18
    • 2017-02-08
    • 2018-12-02
    • 2020-09-07
    • 2021-09-14
    • 2019-04-09
    相关资源
    最近更新 更多