从node-express app获取页面加载时的标题?

时间:2017-04-07 19:42:18

标签: javascript jquery node.js express

我正在构建一个带有节点的应用程序并进行表达和设置,以便在页面加载时,将一些标题发送到客户端。如何在客户端提取该信息?我在客户端使用JS / jQuery。这是有问题的代码 -

app.get('/', (req, res) => {
  models.game_session.build({
    sid: req.sessionID
  }).save().then((data) => {
    let options = {
      "root": __dirname,
      headers: {
        "x-sid": data.id
      }
    }
    res.sendFile('/index.html', options, (err) => {
      if (err) {
        res.send(err)
      }
    });
  }).catch((e) => {
    res.send(`There was an error`);
  });
});

我将会话ID保存在数据库中,然后将索引文件发送到客户端。正如您在options对象中看到的那样,我希望在要与索引文件一起发送的标头中包含会话ID。如何在客户端检索该信息?我不确定我是否以正确的方式解决这个问题 - 感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

不幸的是,没有API从你当前的页面获取标题,你需要从JS / Jquery生成另一个请求来获取标题:

如何做到这一点:

How to get read data from response header in jquery/javascript

Accessing the web page's HTTP Headers in JavaScript

答案 1 :(得分:1)

编辑:抱歉,没有仔细阅读。它实际上是不可能的,这就是原因:

https://stackoverflow.com/a/220233/4045156

您正在做的事情很好,但您也可以(在客户端加载页面后)向服务器发出另一个请求,然后使用简单的JSON对象进行响应。尽管如此,这完全取决于你。这当然意味着另一个请求,但似乎无论如何都不可能避免另一个请求。