lud*_*_rj 2 jquery fine-uploader
我正在使用jquery插件的精细上传器.需要在上传文件之前动态传递params,因此,setParams()方法应该完成这项工作.我在onSubmit回调中没有例外:
1)上传者声明
function initUploader() {
var up = $('#BSUploader').fineUploader({
multiple: true,
debug: true,
request: {
endpoint: '${request.contextPath}/quantum/uploadToS3',
//params: {'folderId':r }
},
dragAndDrop: {
extraDropzones:[$('#filesContainer')],
Run Code Online (Sandbox Code Playgroud)
...
2)onSubmit回调
...
}).on('submit', function(event, id, name) {
var r = $("#curfolderid").val();
alert(r);
up.setParams({'folderId':r});
Run Code Online (Sandbox Code Playgroud)
3)错误日志
[FineUploader] Caught exception in 'onSubmit' callback - Object [object Object] has no method 'setParams' bundle-bundle_uploader_defer.js:4
qq.log bundle-bundle_uploader_defer.js:4
qq.FineUploaderBasic.log bundle-bundle_uploader_defer.js:26
b bundle-bundle_uploader_defer.js:47
a._options.callbacks.(anonymous function) bundle-bundle_uploader_defer.js:47
qq.FineUploaderBasic._upload bundle-bundle_uploader_defer.js:43
qq.FineUploaderBasic._uploadFileOrBlobDataList bundle-bundle_uploader_defer.js:43
qq.FineUploaderBasic.addFiles bundle-bundle_uploader_defer.js:29
qq.DragAndDrop.callbacks.dropProcessing bundle-bundle_uploader_defer.js:69
b bundle-bundle_uploader_defer.js:51
qq.UploadDropZone.onDrop bundle-bundle_uploader_defer.js:52
(anonymous function)
Run Code Online (Sandbox Code Playgroud)
任何的想法 ?
您没有正确使用jQuery插件包装器.此插件的文档清楚地说明了在使用插件时如何调用API方法.您应该从第一页开始关注自述文件,然后根据您的预期用途遵循概述的路径.这样做可以防止您遇到通过熟悉库来解决的问题.
现在,来修复你的问题......
up
您创建的变量被分配了一个jQuery
对象,该对象表示ID为"BSUploader"的元素.您正在尝试调用此jQuery对象上不存在的函数.Fine Uploader不会使用其他方法污染jQuery对象.在开发插件包装器时,遵循jQuery网站上列出的所有接受/推荐标准.这意味着您必须在插件实例的上下文中调用API方法.
所以,你必须改变这一行:
up.setParams({'folderId':r});
对此:
up.fineUploader('setParams', {'folderId':r});
另一种选择是up
完全消除变量.你真的不需要它,因为你可以setParams
像这样调用你的回调处理程序:
$(this).fineUploader('setParams', {'folderId':r});
归档时间: |
|
查看次数: |
4457 次 |
最近记录: |