我已经在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 = [对象对象]
我不知道怎么了。有人可以帮助我在我的网页上显示这些值。
答案 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})
})