我想要进行 ajax 调用,将 JSON 和文件数据发送到我的 PHP 后端。这是我当前的 ajax 调用:
$.ajax({
type: 'POST',
dataType: 'json',
data: jsonData,
url: 'xxx.php',
cache: false,
success: function(data) {
//removed for example
}
});
数据(jsonData)是一个 JSON 数组,它也保存来自文件选择的输入(我假设由于类型不匹配这是错误的)。我尝试使用 contentType: false
和 processData: false
,但是当我尝试在 PHP 中访问 $_POST
数据时,那里什么也没有。我传递的数据不是来自表单,而且数据量很大,因此我不想使用 FormData
并将其附加到该对象。我希望我不必进行两次 ajax 调用来完成此任务。
最佳答案
如果您想将数据与任何文件一起发送,可以使用 FormData
对象。
发送您的jsonData
,如下所示:
var jsonData = new FormData(document.getElementById("yourFormID"));
与 PHP 相比,您可以检查数据和文件:
<?php
print_r($_POST); // will return all data
print_r($_FILES); // will return your file
?>
关于javascript - Ajax 在同一请求中发送数组和图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39793115/