我想使用下面的代码将 data2 变量发送到我的 PHP 脚本,但我在我的 Controller 中得到空的 $_POST 数组
var data2 = {
donation: $("#donationform").serialize(),
allocation: $("#allocationform").serialize(),
allocationerrors: { msg: validation() },
datatoform: new FormData(this)
};
$.ajax({
url: url,
type: "POST",
dataType: "JSON",
data: data2,
processData: false,
contentType: false,
success: function(data, status) {},
error: function(xhr, desc, err) {}
});
最佳答案
问题是因为您不能在对象中发送二进制 FormData
。你需要反过来做; IE。将数据附加到 FormData
对象并在请求中发送。试试这个:
var formData = new FormData(this);
formData.append('donation', $("#donationform").serialize());
formData.append('allocation', $("#allocationform").serialize());
formData.append('allocationerrors', JSON.stringify({ msg: validation() }));
$.ajax({
url: url,
type: "POST",
data: formData,
processData: false,
contentType: false,
success: function (data, status) {
},
error: function (xhr, desc, err) {
}
});
关于php - 用于图像数据和其他序列化数据的单个 ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42692271/