Javascript выборка, возвращающая целую HTML страницу и данные формы, а не только данные формы - PullRequest
0 голосов
/ 17 марта 2020

У меня возникла проблема, когда при публикации данных формы используются fetch и FormData. В итоге я получаю ответ, показывающий данные формы, а также HTML самой страницы, как показано ниже.

Output of fetch function

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);
    })
});

Из того, что я понимаю и исследовал Мне нужно изменить строку, где написано return response.text();, на что-то вроде return response.json();. Когда я делаю это, я получаю ошибку ниже. Я не уверен, что это что-то с данными формы или как я отправляю данные в файл PHP. Как получить ответ из файла PHP, не получив вместе с ним все HTML страницы? JS error

1 Ответ

0 голосов
/ 13 апреля 2020

У меня была та же ошибка, которую я решил с помощью интерполяции строк. В вашем случае это будет что-то вроде. Вы можете добавить все имеющиеся у вас параметры.

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 ((текст) => {console.log (text);}). catch ((ошибка) => {console.error (ошибка);} )});

...