res.render()或res.redirect()不可能的节点

时间:2018-08-29 17:28:23

标签: javascript node.js header request httpresponse

这是我的代码:

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');
});

第一部分将服务器内存的一部分作为文本文件发送到客户端。 完成此操作后,我想将用户重定向到成功页面。

这不起作用。

我的routes.js文件中也包含以下代码:

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

无论我尝试直接进行res.render('succes.ejs');还是使用res.redirect()都行不通。

这可能与“一个请求->一个响应”原则有关。 但是在这里,在尝试进行渲染/重定向之前,我没有做出直接响应。

我只设置了一些标题以允许下载。

那么,有没有一种方法可以绕过或破解它,以便设法进行渲染/重定向?

0 个答案:

没有答案