如何在表单属性中打印 cookie 值?
这是我正在尝试的代码。
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 存储在那里,请参阅
文档.cookie
:
cookie_email_id=abc%40gmail.com;密码=123456789
最佳答案
要通过 ejs 预填充表单输入,首先您需要通过 res.cookie() 设置 cookie。要在表单字段中自动填充这些值。您需要从请求中获取 cookie 并将其分配给你的渲染方法。
为此,您可以像这样使用 cookie-parser 中间件,并在 req.cookies/req.signedCookies 中获取 cookie 值。
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 渲染方法,所有的属性都可以自动填充
有点像
res.render('user_profile',{name:req.cookies.name, age:req.cookies.age})
然后您可以像这样将值放在您的 ejs 表单字段中
<input type="text" id="name" value="%name%"/>
<input type="text" id="age" value="%age%"/>
关于node.js - 如何在 .ejs View 引擎中打印 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49043817/