首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将xhr数据传递给rubaxa fileapi

将xhr数据传递给rubaxa fileapi
EN

Stack Overflow用户
提问于 2014-04-03 05:36:15
回答 1查看 474关注 0票数 0

我使用这个api进行文件上传,在触发onFilePrepare事件时需要动态传递一些数据,但是它没有将数据发送到url。请建议,因为我必须从onFilePrepare事件中添加一个新的数据param onFilePrepare,这在最初是不可维护的,因为fileapi是从嵌套的ajax设置中调用的。

代码语言:javascript
复制
https://github.com/RubaXa/jquery.fileapi

代码:

代码语言:javascript
复制
 $('#multiupload').fileapi({
                   url: "url",
                   data: ({'a':'A'}), 
                   clearOnComplete: true,
                   multiple: true,
                   elements: {                    
                      ctrl: { upload: '.js-upload' },
                      emptyQueue: { hide: '.js-upload' },
                      list: '.js-files',
                      name: '.js-name',
                      size: '.js-size',
                      file: {
                         tpl: '.js-file-tpl',
                         preview: {
                            el: '.b-thumb__preview',
                            width: 80,
                            height: 80
                         },
                         upload: { show: '.progress', hide: '.b-thumb__rotate' },
                         complete: { hide: '.progress' },
                         progress: '.progress .bar'
                      }
                   },
                   onFilePrepare : function(evt,ui) {

                       //pass more data dynamically
                       ui.xhr.options.data = { 'a':'A','b':'B'};
                       console.log(ui.xhr.options);
                   },
                   onComplete : function (evt, ui) {

                       //read ajax data returned
                       var data = JSON.parse(ui.xhr.response);
                       console.log(ui.xhr.options);

                   }                       

            }); 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-03 18:42:13

通过使用最新的Rubaxa库,这可以如下所示感谢rubaXa在git中的帮助。

onFilePrepare的变化

代码语言:javascript
复制
 $('#multiupload').fileapi({
                   url: "url",
                   data: ({'a':'A'}), 
                   clearOnComplete: true,
                   multiple: true,
                   elements: {                    
                      ctrl: { upload: '.js-upload' },
                      emptyQueue: { hide: '.js-upload' },
                      list: '.js-files',
                      name: '.js-name',
                      size: '.js-size',
                      file: {
                         tpl: '.js-file-tpl',
                         preview: {
                            el: '.b-thumb__preview',
                            width: 80,
                            height: 80
                         },
                         upload: { show: '.progress', hide: '.b-thumb__rotate' },
                         complete: { hide: '.progress' },
                         progress: '.progress .bar'
                      }
                   },
                   onFilePrepare : function(evt,ui) {

                       //pass more data dynamically
                       ui.options.data.b = 'B';
                   },
                   onComplete : function (evt, ui) {

                       //read ajax data returned
                       var data = JSON.parse(ui.xhr.response);
                       console.log(ui.xhr.options);

                   }                       

            });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22828697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档