我正在使用javascript的'formData'来发送带有ajax的图像文件。如何将其他数据附加到formData,例如文本字符串?
JS:
$("#post-image").click(function(){
$.ajax({
url: "../../build/ajaxes/upload-photo.php",
type: "POST",
data: formdata,
processData: false,
contentType: false,
success: function (response) {
console.log(response);
}
});
});
PHP:
在我的PHP中,我可以使用$_FILES["images"]
访问该图像。我不知道使用formdata传递的其他数据会使用什么。
答案 0 :(得分:3)
如果要向FormData添加参数,请使用FormData.append
$("#post-image").click(function(){
formdata.append('name', 'value');
$.ajax({
url: "../../build/ajaxes/upload-photo.php",
type: "POST",
data: formdata,
processData: false,
contentType: false,
success: function (response) {
console.log(response);
}
});
});
在PHP中使用$_POST["name"]
来获取值。
答案 1 :(得分:0)
您需要将表单作为multipart提交。以下是您问题的SO解决方案:Making an HTTP POST call with multipart/form-data using jQuery?
不完全重复,所以我没有将其标记为此类,但它直接引用了您问题的解决方案。
编辑:您会注意到一些答案也将FormData作为解决方案。一旦正确发布数据,您就可以使用PHP中的普通$ _FORM集合访问它。
答案 2 :(得分:0)
如果您有包含多个文件上传的大表单,请不要使用MALSUP JQUERY PLUGIN。它会发送所有表单字段
$(form).ajaxSubmit();