Javascript 获取返回整个 HTML 页面和表单数据,而不仅仅是表单数据
Javascript fetch returning whole HTML page and form data rather than just form data
我遇到一个问题,当 post 使用 fetch
和 FormData
形成数据时。我最终得到了显示表单数据以及页面本身的 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);
});
});
我遇到一个问题,当 post 使用 fetch
和 FormData
形成数据时。我最终得到了显示表单数据以及页面本身的 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);
});
});