将数据从fetch发送到php [已关闭]

vcudknz3  于 2023-04-19  发布在  PHP
关注(0)|答案(1)|浏览(118)

**已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。

这个问题是由一个错字或一个无法再复制的问题引起的。虽然类似的问题可能是on-topic在这里,但这个问题的解决方式不太可能帮助未来的读者。
3天前关闭。
Improve this question
我想使用fetch js(POST请求方法)。在php文件中,我还需要获取$_POST和发送的数据。我在this page上复制了这个例子:

function sendData () {
  var data = new FormData(document.getElementById("demo"));
  fetch("2-dummy.php", {
    method: "POST",
    body: data
  })
  .then(res => {
    if (res.status != 200) { throw new Error("Bad Server Response"); }
    return res.text();
  })
  .then(res => console.log(res))
  .catch(err => console.error(err));
  return false;
}
<form onsubmit="return sendData()" id="demo">
  <input type="text" name="name" value="Jon Doe" required>
  <input type="email" name="email" value="jon@doe.com" required/>
  <input type="submit" value="Go!">
</form>

在文件2-dummy.php下一个代码:

<?php  print_r($_POST);

但结果是,在php文件中显示了一个空数组。为什么?这不是唯一的例子,在其他的例子中,我也没有在php文件中得到结果。有人知道一个工作示例的链接吗?

rhfm7lfc

rhfm7lfc1#

试试这个:

// in index.js
function sendData () {
  var data = new FormData(document.getElementById("demo"));
  fetch("2-dummy.php", {
    method: "POST",
    body: data
  })
  .then(res => {
    if (res.status != 200) { throw new Error("Bad Server Response"); }
    return res.text();
  })
  .then(res => console.log(res))
  .catch(err => console.error(err));
  return false;
}
<!-- in index.html -->
<form onsubmit="return sendData()" id="demo" enctype="multipart/form-data">
  <input type="text" name="name" value="Jon Doe" required>
  <input type="email" name="email" value="jon@doe.com" required/>
  <input type="submit" value="Go!">
</form>
// in 2-dummy.php
<?php 
print_r($_POST);
?>

相关问题