我有一个 jQuery 脚本,它通过“formData”变量将有关图片的信息发送到 php 文件,如下所示:
url: 'ajax.php',
type: "POST",
contentType:false,
processData: false,
cache: false,
data: formData,
success: function(data){}
据我所知,以下是在发送 formData 之前生成该 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 文件根目录的开头定义的,因此通常应该可以从该文件中的任何函数中访问它。
最佳答案
您可以向表单数据附加任意数量的key
=> value
。
fd.append('key', value);
适用于您的场景,
fd.append('picID', value); //where value is the value of picID
我建议您在 for
循环开始之前声明表单数据变量 fd
。这是因为只有文件数据需要循环。对于其他表单数据,请将它们附加到循环之外
示例
function handleUpload(){
var fd = new FormData();
//commence for loop {
// }end for loop
//append extra key => value
fd.append('key', value);
}
关于php - Ajax:将变量添加到formData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47477475/