@PRIYD

Почему не приходит ответ от сервера?

Здравствуйте. Отправляю на сервер запрос через fetch:
function sendRequest(url, data) {
    const response = fetch(url, {
        method: 'POST',
        headers: {
            'Content-Type' : 'application/json'
        },
        body: JSON.stringify(data)
    });

    return response; 
}


Всё окей, запрос принял, обработал. Отвечаю:
router.post('/sign-up', (req, res) => {
    controller.createUser(req.body)
        .then(data=> {
            res.send(data);
    });
});


И на клиент приходит просто пустой ответ, без боди. Пробовал отправлять и через res.json(response), но та же проблема.

Вопрос: как правильно получить ответ с сервера?
  • Вопрос задан
  • 547 просмотров
Решения вопроса 2
hzzzzl
@hzzzzl
router.post('/sign-up', (req, res) => {
    controller.createUser(req.body)
        .then(data=> {
            // а тут точно что-то есть в ответ?
            console.log(data) // ?
            res.send(data);
    });
});
Ответ написан
@PRIYD Автор вопроса
Автор оказался полным башмаком: в нижеприведенном коде возвращалась пустая data из-за того, что забыл ее вернуть в промисе controller.createUser() xD.

router.post('/sign-up', (req, res) => {
    controller.createUser(req.body)
        .then(data=> {
            res.send(data);
    });
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы