我看过几个关于这个问题的帖子,但没有一个能解决我的问题。我正在使用XAMPP,在同一个文件夹中有一个htmlindex.html和一个phpremote.php。
我要发送给php的FormData是使用JavaScript中的表单(basic_form)创建的。由于console.log(...formdata);按预期打印了Array[“mode”,“basic”],Array[“File”,File],它们是字符串和输入文件,因此构造良好。
但不幸的是,在php中,命令print_r($_post);只输出array(),命令var_dump($_post);也输出array(0){}。因此表单的内容似乎没有传递给PHP。
这里是html表单:
这里是提交表单的javascript:
var basic_form = document.forms["basic_form"];
basic_form.addEventListener('submit', e => {
e.preventDefault();
const url = 'remote.php';
const formData = new FormData(basic_form);
fetch(url, {
method: 'POST',
body: formData
}).then(response => {
console.log(response);
if(response["status"] == 200)
location.replace(response["url"]);
});
});
这里的php打印内容的表单:<?php
var_dump($_POST);
$datapost = $_POST;
print_r($datapost);
print($datapost["mode"]);
?>