Node.js nodejs express如何将页面重定向到从服务器传递数据的客户端?

Node.js nodejs express如何将页面重定向到从服务器传递数据的客户端?,node.js,express,Node.js,Express,我有这个会话检查代码,我想把数据从服务器传递到客户端 我想在lobble.html页面中显示会话名称 但是我对nodejs express还不熟悉,我不知道怎么做 app.get('/lobby', (req, res) => { // check session sess = req.session; if(sess.name) { // redirect to lobby.html passing the session name }

我有这个会话检查代码,我想把数据从服务器传递到客户端 我想在lobble.html页面中显示会话名称 但是我对nodejs express还不熟悉,我不知道怎么做

app.get('/lobby', (req, res) => {
    // check session
    sess = req.session;
    if(sess.name) {
        // redirect to lobby.html passing the session name
    }
    else
        res.sendFile(path.resolve(__dirname, './public/client/error.html'));
});
```

看起来
req.sess
是从浏览器传递的,那么为什么不直接通过浏览器端的
document.cookie
获取
name
呢?

重定向根据其定义是获取请求。从一个get请求到下一个get请求获取数据的方法如下:

  • 向重定向到的URL添加查询参数,然后让客户端或服务器解析查询参数中的数据,并相应地调整内容

  • 使用数据设置自定义cookie,然后执行重定向,并让客户端或服务器从重定向请求的cookie中提取数据

  • 让服务器将一些数据放入服务器端会话,让后续重定向请求从会话中获取数据并相应地调整内容


  • #2和#3都容易受到微妙的竞争条件的影响。如果有多个传入请求,cookie或会话数据可能会针对其他传入URL而不是重定向URL进行操作,除非数据还确切包含它应该应用于哪个URL。选项#1不受这种竞争条件的影响。

    我还想通过链接到网页来传递数据。问题是有两件事需要响应,即数据和.html文件。您基本上是在寻找服务器端渲染,因为从逻辑上考虑,必须加载数据,如果只是加载文件,则必须进行往返,您先加载HTML,然后再加载页面上的HTML,通过API获取会话数据,或者像前面提到的那样进行服务器端渲染。供参考: