Javascript 获取返回整个 HTML 页面和表单数据,而不仅仅是表单数据

Javascript fetch returning whole HTML page and form data rather than just form data

我遇到一个问题,当 post 使用 fetchFormData 形成数据时。我最终得到了显示表单数据以及页面本身的 HTML 的响应,如下所示。

let regForm = document.querySelector('.registration-form');
regForm.addEventListener("submit", (event) => {
  event.preventDefault();
    const formData = new FormData(event.target);
    let options = {
      method: "POST",
      body: formData
    };
    fetch('register.php', options).then((response) => {
      return response.text();
    }).then((text) => {
      console.log(text);
    }).catch((error) => {
      console.error(error);
    })
});

据我所知researched,我需要将 return response.text(); 行更改为 return response.json(); 行。当我这样做时,出现以下错误。我不确定它是否与我的表单数据有关或我如何将数据发送到 PHP 文件。 如何在不获取页面的所有 HTML 的情况下从 PHP 文件获取响应?

我遇到了同样的错误,我通过使用字符串插值解决了它。在你的情况下,它会是这样的。您可以添加您拥有的所有参数。

let regForm = document.querySelector(".registration-form");
regForm.addEventListener("submit", (event) => {
  event.preventDefault();
  const formData = new FormData(event.target);
  let options = {
    method: "POST",
  };
  fetch(`register.php?Register${firsname}&${surname}&${email}`, options)
    .then((response) => {
      return response.text();
    })
    .then((text) => {
      console.log(text);
    })
    .catch((error) => {
      console.error(error);
    });
});