使用这里的答案,我可以成功地将图像上传到php。
$(document).ready(function (e) {
$('#imageUploadForm').on('submit',(function(e) {
e.preventDefault();
var formData = new FormData(this);
$.ajax({
type:'POST',
url: $(this).attr('action'),
data:formData, // << i would like to send more object variables
cache:false,
contentType: false,
processData: false,
success:function(data){
console.log("success");
console.log(data);
},
error: function(data){
console.log("error");
console.log(data);
}
});
}));
$("#ImageBrowse").on("change", function() {
$("#imageUploadForm").submit();
});
});
问题:使用它,如何将额外的帖子数据对象发送到 php?
通常我可以发送像var dataObj = {a1:a1,a2:a2}
这样的数据对象,这将替换上面的formData
。
但是由于formData
占据了data
条目,我似乎无法将更多$_POST
对象附加到 PHP 中。
您可以使用
append()
将更多数据附加到formData
对象
$('#imageUploadForm').on('submit',(function(e) {
e.preventDefault();
var formData = new FormData(this);
formData.append('key', 'value');
$.ajax({
...
});
}));