Вы делаете res.send()
и res.redirect()
в одном и том же обработчике запросов. Вы не можете отправить два ответа на один и тот же запрос. Вот что генерирует предупреждающее сообщение, которое вы видите.
Выберите одно из другого. Вы либо хотите отправить соответствующий статус о .save()
, либо хотите перенаправить. Один или другой, а не оба.
В этом конкретном коде сначала происходит res.redirect()
, так что это то, что видит клиент. Затем, после этого и после того, как request()
и address.save()
завершены, вы пытаетесь res.send()
, но это блокируется, потому что ответ уже отправлен и соединение http уже установлено.
Если вы просто хотите перенаправить при успешном сохранении, вы можете удалить существующий res.redirect()
и изменить его на:
address.save(function(err) {
if (!err) {
res.redirect("/");
} else {
console.log(err);
res.sendStatus(500);
}