php - Ajax:将变量添加到formData

标签 php jquery ajax form-data

我有一个 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/

相关文章:

表格元素的 JavaScript 不透明度

javascript - AJAX后加载React组件

php - PHP5.3 中的自执行函数?

php - 检索 id 而不显示它

php - 如何使用 Eloquent (Laravel) 关系插入记录?

jquery - 将 JSON 对象存储在标签的类属性中是否会验证(XHTML 严格)?

jquery - 为什么我的 JS jQuery 不工作?

php - 删除 WooCommerce 结帐字段值

javascript - 如何过滤 Ajax 请求后服务器的回显响应

javascript - 使用外部服务器上的 jsonp-PHP 文件进行 SQL 查询的跨域 Ajax 获取请求