首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在.ejs视图引擎中打印cookie

如何在.ejs视图引擎中打印cookie
EN

Stack Overflow用户
提问于 2018-03-01 14:28:57
回答 3查看 2.7K关注 0票数 7

如何在表单属性中打印Cookie值?

这是我到目前为止拥有的代码。

代码语言:javascript
运行
复制
if(req.body.remember_me){
    res.cookie("cookie_email_id", req.body.email);
    res.cookie('password', req.body.password);
}else{
    res.clearCookie("cookie_email_id");
    res.clearCookie("password");
}

我已经在控制台中检查了我的Cookie设置了cookie

document.cookie

cookie_email_id=abc%40gmail.com; password=123456789

EN

回答 3

Stack Overflow用户

发布于 2018-07-12 12:30:21

要通过ejs预先填充表单输入,首先需要通过res.cookie()设置cookies,.To在表单字段中自动填充这些值.You需要从请求中获取cookies并将其分配给您的render方法。

为此,您可以使用cookie解析器中间件,并在req.cookies/req.signedCookies中获取cookie值。

代码语言:javascript
运行
复制
var express = require('express')
var cookieParser = require('cookie-parser')

var app = express()
app.use(cookieParser())

app.get('/', function (req, res) {
  // Cookies that have not been signed
  console.log('Cookies: ', req.cookies)

  // Cookies that have been signed
  console.log('Signed Cookies: ', req.signedCookies)
})

app.listen(8080)

在路由中,您可以使用要自动填充的所有属性调用您的ejs render方法

就像这样

代码语言:javascript
运行
复制
res.render('user_profile',{name:req.cookies.name, age:req.cookies.age})

然后可以将这些值放在ejs表单域中,如下所示

代码语言:javascript
运行
复制
<input type="text" id="name" value="%name%"/>
<input type="text" id="age" value="%age%"/>
票数 4
EN

Stack Overflow用户

发布于 2018-07-12 07:54:54

当你回应的时候,试试这个:

代码语言:javascript
运行
复制
res.render("your_page", {email: req.body.email, password: req.body.password});

并将emailpassword设置为输入值(使用ejs)。

票数 3
EN

Stack Overflow用户

发布于 2021-02-01 21:09:54

Cookie可以从req.headers.cookie中检索,也可以根据需要传递到EJS模板或其他任何地方。

为例:

在控制台中打印cookie:

代码语言:javascript
运行
复制
router.get("/example"), (req, res) => { console.log(req.headers.cookie); }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49043817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档