use*_*531 9 javascript jquery file-upload fine-uploader
我正在使用http://fineuploader.com/上传文件.工作完美.然后我params
在request
对象中设置发送一些附加参数以发送到服务器.工作完美.然后我添加另一个参数来使用setParams
onSubmit回调发送.不能完美,因为它删除了我的原始参数.我的愿望是将最后一个参数添加到原始参数中,而不是替换它们.我的newPar是一个动态阀门,而不是我的例子中所示的常量.
我是否应该尝试在request
对象中定义参数并在回调中完成所有操作?或者request
使用匿名函数在对象中设置我添加的参数?或者其他一些方式?
var uploader = new qq.FineUploaderBasic({
button: document.getElementById('uploader'),
autoUpload: false,
multiple:false,
request: {
endpoint: 'uploads/handleUploads.php',
params: {id:123,task:'upload'}
},
callbacks: {
onSubmit: function(id, fileName) {
this.setParams({newPar:321});
}
},
debug: true
});
Run Code Online (Sandbox Code Playgroud)
Mar*_*ner 12
您最好的选择是使用任何新参数扩展默认参数({ id: 123, task: 'upload' }
)onSubmit
.这是一个例子:
// set your default parameters for all files via
// some object/function visible in fineuploader's scope
var defaultParams = {
id: 123,
task: 'upload'
}
var uploader = new qq.FineUploaderBasic({
multiple: false,
debug: true,
autoUpload: false,
button: document.getElementById('uploader'),
request: {
endpoint: "uploads/handleUploads.php",
},
callbacks: {
onSubmit: function (id, fileName) {
// Extend the default parameters for all files
// with the parameters for _this_ file.
// qq.extend is part of a myriad of Fine Uploader
// utility functions and cross-browser shims
// found in client/js/util.js in the source.
var newParams = {
newPar: 321
},
finalParams = defaultParams;
qq.extend(finalParams, newParams);
this.setParams(finalParams);
}
}
});
Run Code Online (Sandbox Code Playgroud)
Fine Uploader有很多实用函数(docs/code),我使用其中一个extend
- 来帮助创建我们的最终参数对象(假设你没有使用jQuery或任何其他依赖项).
编辑:意识到您没有为特定文件设置params,而是为所有文件设置动态.