javascript - 使用 express 在 cookie 中发送数组不起作用
问题描述
我目前正在做一个项目,我需要给用户一个数组。为此,我正在尝试使用 res.cookie() 函数。但是,每当我尝试为用户提供一个数组作为 cookie 数据时,浏览器都会将数据作为字符串获取(还添加了一个我无法理解的“j”)。
后端代码:
homepageRouter.get('/',(req,res) => {
res.cookie("likedProjects", "checkstring");
res.cookie("supportedProjects", [2500,4,6]);
res.sendFile('/pages/homepage.html',{root:rootDir});
});
“检查字符串”工作得很好,但是当我查看第二个 cookie 时,它的数据以字符串形式出现:
j:[2500,4,6]
有没有办法确保 cookie 数据将作为数组在浏览器中接收?
解决方案
实际上,我认为你可能做错了什么。您是否使用任何 cookie 解析中间件(cookie-parser
是 express.js 的官方中间件)?我试图用这样的方式重现您的问题,cookie-parser
并且得到一个不是字符串的普通数组。
const cookieParser = require("cookie-parser");
const express = require("express");
const app = express();
app.use(cookieParser());
app.get("/set", (req, res) => {
res.cookie("hi", [12, 12, 12])
res.send("hi");
// For the sake of this example I wrote it this way but you can also do
// res.cookie("hi", [1,2,3]).send("hi")
});
app.get("/log", (req, res) => {
console.log(req.cookies.hi);
res.send(`logged in console this value also: ${req.cookies.hi}`)
});
app.listen("4433");
希望这有帮助
推荐阅读
- autodesk-forge - Autodesk 用户管理 API
- javascript - 当我最小化窗口时,如何控制应该显示图像的哪些部分?
- python - 如何返回字符串向量匹配的numpy矩阵行的索引?
- python - Python 3.7.3 路径和 VS 代码冲突
- python - 如何使用 AWS CLI 创建 python AWS Lambda 函数?
- javascript - 如何从 php 中的 soundcloud 剧集获取最新剧集?
- php - 如何根据 ID 回显 WordPress 图像
- snapchat - Snapkit 中的friendUserId 是什么?
- r - 使用 R 从论坛抓取网页,如何删除以前用户的引用并导航到下一页?
- python-3.x - 为什么我无法在 Mac 上显示 Tkinter Python 中按钮的背景颜色?