快速的NodeJS同时发送res.render和res.json
我怎样才能在快速同步的NodeJS发送res.render和res.json。我想是这样的:
app.get(basePath, function (req, res, next) {
//More stuff
res.json({token: token});
res.render(path.join(publicPath, '/main'),
{mv: mv});
});
但它只是给我的令牌不渲染页面。使用这种方法:
app.get(basePath, function (req, res, next) {
//More stuff
res.render(path.join(publicPath, '/main'),
{mv: mv, token: token});
});
我没有访问令牌参数(我将其存储在客户端)
这样做是为了避免使用2个请求(一个用于测试令牌页,一个用于生成新的令牌rtesting旧)。并避免与在每一个意见令牌一个隐藏的范围。
回答如下:HTTP使用需要每一个请求响应周期。当客户端发送一个请求,服务器应只发送一个响应返回给客户端。所以,你需要发送一个只响应客户端或者res.render()
或res.json()
。
如果你想设置,如身份验证令牌的一些数据,你可以使用res.set()
或res.header()
你的头设置。 documentation
app.get(basePath, function (req, res, next) {
//More Stuff ...
res.header('token', JSON.stringify({ token: 'token' })); //use encrypted token
res.render(path.join(publicPath, '/main'), { mv: mv });
});
要为所有路由器或特定的一组路由器可以使用middleware设置页眉