Ajax: 添加一个变量到一个formData
Ajax: add a variable to a formData
我有一个 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 文件的根目录的开头,因此,通常应该可以从该文件的任何函数中访问它。
您可以向表单数据附加任意多个 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);
}
我有一个 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 文件的根目录的开头,因此,通常应该可以从该文件的任何函数中访问它。
您可以向表单数据附加任意多个 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);
}