【发布时间】:2018-09-15 17:59:42
【问题描述】:
我正在尝试使用 AJAX 将文件上传到我的服务器。 AJAX 调用工作正常,我的 PHP 正确返回,但是当我添加 contentType: false 和 processData: false 时,它不再返回。
var formData = new FormData();
formData.append('image', input.files[0]);
$.ajax({
url: "php/API.php",
data: {action: "changeProfilePicture", profilePicture: formData},
type: "POST",
contentType: false, // if i remove this
processData: false, // and this, and my form data in `data:` then POST is not empty
success: function(resp) {
console.log(resp)
}
});
// inside of php/API.php
<?php
// post is empty
print_r($_POST);
if(isset($_POST) && !empty($_POST)) {
...
}
?>
【问题讨论】:
-
好吧,contentType 描述了发送到您的 API 的数据,并且 processData 设置是否以及如何根据 contentType 处理数据。所以 contentType 不应该是假的。
-
删除
contentType后POST仍为空。
标签: javascript php ajax post