2016-03-29 2 views
0

Я использую модуль запроса для выполнения почтового запроса. После отправки запроса я хочу перенаправить пользователя. Но мне кажется, что я не могу перенаправить здесь.Не удается перенаправить при отправке запроса

function callApi(req, res) { 
    request(options, function(err, response, body){ 
     res.redirect('/'); //cannot read property redirect of undefined, can't set headers after they are sent 
    }); 
} 

function callApi(req, res) { 
    request(options, function(err, response, body){ 
     req.res.redirect('/'); // can't set headers after they are sent 
    }); 
} 
+0

Вы пытались сделать код состояния res.statuscode = 301; ?? –

+0

@DayanMorenoLeon Что вы подразумеваете под этим? Я просто попробую 'req.redirect (301, '/')' и он все равно возвращает тот же результат – stackdisplay

+0

res.statusCode = '301'; res.redirect ('/'); Отправить(''); в зависимости от экспресс-версии, вы используете меньше шагов. обратите внимание, что в вашем коде вы используете req.res. должен быть только res. –

ответ

1

Внутри обратного вызова ваш ответ будет ссылаться на ответ от обратного вызова запроса. сделайте это ...

function callApi(request, response) { 
request(options, function(req, res, body){ 
    response.redirect('/'); //cannot read property redirect of undefined, can't set headers after they are sent 
    }); 
} 

function callApi(request, response) { 
    request(options, function(req, res, body){ 
     response.redirect('/'); // can't set headers after they are sent 
    }); 
} 
+0

Я обновил свой код в этом разделе, так как я неправильно обновляю. Он должен быть 'request (options, function (error, response, body)'. Поэтому я думаю, что это не проблема – stackdisplay

Смежные вопросы