我有一个jQuery脚本,通过“formData”变量将有关图片的信息发送到php文件,如下所示:
url: 'ajax.php',
type: "POST",
contentType:false,
processData: false,
cache: false,
data: formData,
success: function(data){}
据我所知,这是脚本的一部分,它在发送之前生成该formData的内容:
function handleFileUpload(files,obj)
{
for (var i = 0; i < files.length; i++)
{
var fd = new FormData();
fd.append('file', files[i]);
var status = new createStatusbar(obj);
status.setFileNameSize(files[i].name,files[i].size);
sendFileToServer(fd,status);
}
}
要在php文件中捕获该数据,我只需使用
$_FILES['file'][...];
我想要做的是同时向php文件发送一个额外的javascript变量,以及我能够捕获的formData
$_POST['picID'];
我该怎么做?
谢谢。
PS附加的javascript变量“picID”是在js文件根目录的开头定义的,所以通常可以从该文件的任何函数中访问它。
答案 0 :(得分:2)
您可以追加尽可能多的key
=&gt; value
表单数据。
fd.append('key', value);
应用于您的方案,
fd.append('picID', value); //where value is the value of picID
我建议您在fd
循环开始之前声明表单数据变量for
。这是因为只有文件数据需要循环。对于其他表单数据,请将它们添加到循环外部
示例
function handleUpload(){
var fd = new FormData();
//commence for loop {
// }end for loop
//append extra key => value
fd.append('key', value);
}