【发布时间】: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