0

我有以下使用 JQuery 的 AJAX 函数上传图像的内容

var id = <?php echo $id; ?>;
var img_data = new FormData($("form")[0]);

$.ajax({
    url: 'add.php',
    data: img_data,
    contentType: false,
    processData: false,
    type: 'POST',
    success: function(data){
        alert(data);
    }
});

我想在发送的 FormData 中包含一个字符串。我尝试了以下,但没有运气

data: img_data {id: id},

这里的正确语法是什么?

4

2 回答 2

4

利用append

var img_data = new FormData($("form")[0]);
img_data.append('id', id); 
于 2013-09-03T22:08:14.027 回答
-1

您可以创建一个 JSON 数据对象并将其作为 application/json 传递并在 add.php 中处理数据:

var data = {
    id : <?php echo !empty($id) ? $id : "''",
    img_data : new FormData($("form")[0])
};

$.ajax({
    url: 'add.php',
    data: data,
    contentType: "application/json",
    type: 'POST',
    success: function(data){
        alert(data);
    }
});

虽然非常规,但您也可以使用 POST 将数据作为查询字符串附加到 URL。您还需要编辑 add.php 以获取此参数。

$.ajax({
    url: 'add.php?id=' + id,
    data: img_data,
    processData: false,
    type: 'POST',
    success: function(data){
        alert(data);
    }
});
于 2013-09-03T22:07:32.793 回答