如何在node.js中打印所有cookie?

时间:2018-08-01 05:49:22

标签: node.js express cookies session-cookies

我已经在node.js中编写了一些代码来获取我的路线的Cookie。

router.get('/', function (req, res, next) {
var cookies = req.cookies;
res.render('cartoons', {
    Cookies: cookies,
  });
});

我的卡通Jade文件看起来像:

h1 cartoons
 p Cookies for this page =
 b #{Cookies}

如果我打印了它们,我将在控制台中看到所有的cookie,例如“ {cartoons_:'1',玩具_:'1'}”。但是在网页上,我看不到这些值获得输出,如:

此页面的Cookie = [对象对象]

我不知道怎么了。有人可以帮助我在我的网页上显示这些值。

1 个答案:

答案 0 :(得分:1)

当您的Jade视图引擎呈现Cookies变量时,它正在对该变量调用.toString()。在对象上,.toString()返回[object Object],这就是您看到的注入到html中的内容。就像在控制台中一样,查看对象的方法是使用JSON.stringify()。它遍历传递给它的所有JS对象,并创建该JS对象的有效JSON字符串表示形式。由于这是一个字符串,因此可以将其直接传递给res.render()以便注入到视图模板中。

router.get('/', (req, res, next) => {
  let Cookies = JSON.stringify(req.cookies)

  return res.render('cartoons', {Cookies})
})