MST

星途 面试题库

面试题:Node.js 中 Express 如何设置带有特定过期时间的 Cookie

在 Node.js 的 Express 框架下,假设你需要设置一个名为 'username' 的 Cookie,其值为用户输入的用户名,并且该 Cookie 在 1 小时后过期。请编写相应的代码实现这一功能。
23.4万 热度难度
前端开发Node.js

知识考点

AI 面试

面试题答案

一键面试
const express = require('express');
const app = express();

app.use(express.urlencoded({ extended: true }));

app.post('/setCookie', (req, res) => {
    const username = req.body.username;
    const oneHour = 60 * 60 * 1000; // 1小时的毫秒数
    res.cookie('username', username, { expires: new Date(Date.now() + oneHour) });
    res.send('Cookie已设置');
});

const port = 3000;
app.listen(port, () => {
    console.log(`服务器在端口 ${port} 上运行`);
});

上述代码实现了在Express框架下设置名为username的Cookie,其值为用户通过POST请求提交的username,并且该Cookie会在1小时后过期。首先引入express模块,然后设置中间件来处理URL编码格式的数据。接着定义一个/setCookie的POST路由,在路由处理函数中获取用户输入的用户名,设置Cookie并发送响应。最后启动服务器监听指定端口。

注意:这只是一个简单示例,实际应用中可能需要更多的错误处理和安全性设置等。