我正在尝试使用这 2 个 jQuery 插件:plupload和jQuery Form Plugin ajaxForm。
它工作正常,除了一件事:我无法发送以前使用 plupload 上传的文件的 file.name(使用 ajaxForm)。
我稍微解释一下:用户使用 plupload 发送一个文件。文件已上传。它工作正常。
然后,用户使用 ajaxForm 提交表单并使用 post 方法发送表单数据 + 文件名。
我知道如何使用 ajaxform 发送数据,这段代码可以正常工作:
var value1 = "dynamic_value1";
$('#my_form').ajaxForm({
// datas is sent in post method, it works fine
data: { value1: value1 },
beforeSubmit: validate,
success: function() {
// it's ok :
//alert(value1);
}
});
但是我不能用 pluplopad file.name 执行此操作,如果我发出警报但我无法发送它,我可以看到文件名:
Plupload 代码以获取文件名(有效): var file_name_vous;
uploader.bind('FileUploaded', function(up, file, response) {
// It's ok : i can get file name, alert show me the file name
file_name_vous = encodeURIComponent(file.name);
alert(file_name_vous);
//};
});
});
但我不能这样做,这段代码不起作用:
$participer_form.ajaxForm({
type: 'POST',
data: {
// impossible to send this var
file_name_vous: file_name_vous
},
beforeSubmit: validate,
// success
success: function() {
// It's ok, alert shows the file name
alert(file_name_vous);
}
});
所以我不明白,我可以用post方法发送数据,我已经测试过了。但我不能发送这个特定的 var:file_name_vous = encodeURIComponent(file.name);
你知道在尝试通过 post 方法发送之前我应该对 (file.name) 做些什么吗?
我没有错误,只是在萤火虫网络/XHR 中,我没有看到任何关于这个 var 的信息。如果我用 var value1 = "dynamic_value1" 替换这个 var,它就可以工作。所以我想,我的问题是关于这个partuliar var file.name