@Achan

Как на koa.js сделать редирект после POST запроса?

С помощью koa-router делаю роут:
router.post('/registration', function* (next) {
    var ctx = this;

    models.users.create({
       email: this.request.body.email
    }).then(function() {
      ctx.redirect('/');
    });
  })


После успешного создания записи в базе пытаюсь сделать редирект, но получаю ошибку:
Error: Can't set headers after they are sent.
  • Вопрос задан
  • 1158 просмотров
Решения вопроса 1
@Achan Автор вопроса
Нужно было yield добавить.

router.post('/registration', function* (next) {
    var ctx = this;

    yield models.users.create({
       email: this.request.body.email
    }).then(function() {
      ctx.redirect('/');
    });
  })


Не совсем понимаю как это работает. Кто-то может объяснить?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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