Your_Uncle_Ostap
@Your_Uncle_Ostap
Учусь премудростям

Uncaught (in promise) TypeError: Failed to execute 'json' on 'Response': body stream is locked?

Делаю форму на Реакте и при её отправке получаю:
cars.js:42 Uncaught (in promise) TypeError: Failed to execute 'json' on 'Response': body stream is locked
Подскажите, пожалуйста что делать.
onSubmit = (e) => {
        e.preventDefault();
        const data=this.state;
        console.log(data);
        fetch("send.php", {
            method: "POST",
            body: data,
            headers: {
                'Content-Type': 'application/json',
                'Accept': 'application/json'
            }
        }).then(response => {
            console.log(response.text());
            response.json().then(data => {
                console.log("Successful" + data);
            });
        });
    };


<?php

$postData= $_POST;
print_r($postData);
// несколько получателей
$to  = 'bisitem@gmail.com' . ', ';  // обратите внимание на запятую
$to .= 'wez@example.com';

// тема письма
$subject = 'Письмо с моего сайта';

// текст письма
$message = 'Пользователь' . $_POST['name'] . ' отправил вам письмо:<br />' . $_POST['message'] . '<br />
Связяться с ним можно по email <a href="mailto:' . $_POST['email'] . '">' . $_POST['email'] . '</a>'
;

// Для отправки HTML-письма должен быть установлен заголовок Content-type
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Дополнительные заголовки
$headers .= 'To: Иван <Ivan@example.com>' . "\r\n"; // Свое имя и email
$headers .= 'From: '  . $_POST['name'] . '<' . $_POST['email'] . '>' . "\r\n";


// Отправляем
mail($to, $subject, $message, $headers);
?>
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Проблема в том, что вы дважды пытаетесь прочитать тело ответа:
console.log(response.text());
response.json()

Уберите console.log и всё должно заработать.

Никакого отношения к Реакту эта проблема не имеет.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы