Узел Невозможно res.render () или res.redirect () - PullRequest
0 голосов
/ 29 августа 2018

Это мой код:

app.post('/post_route', function(req, res) {

        //HACKY CODE TO SERVE THE CLIENT A TEXT FILE
        var fileContents = Buffer.from(result, 'ascii');
        var readStream = new stream.PassThrough();
        readStream.end(fileContents);
        res.set('Content-disposition', 'attachment; filename=' + fileName);
        res.set('Content-Type', 'text/plain');
        readStream.pipe(res);

        res.redirect('/success');
});

Первая часть отправляет некоторую часть памяти сервера клиенту в виде текстового файла. После этого я хочу перенаправить пользователя на страницу успеха.

Это не работает.

У меня также есть этот код в моем файле rout.js:

app.get('/success', function(req, res) {
        res.render('success.ejs');
});

Независимо от того, пытаюсь ли я сделать res.render('succes.ejs'); напрямую или с помощью res.redirect(), это не сработает.

Это, вероятно, связано с принципом «Один запрос -> один ответ». Но здесь я не делаю прямой ответ, прежде чем попытаться выполнить рендер / перенаправление.

Я установил только несколько заголовков, чтобы разрешить загрузку.

Так есть ли способ обойти или взломать это, чтобы суметь выполнить рендер / перенаправление?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...