我想将一些变量从第一个中间件传递到另一个中间件,我try 过这样做,但出现了"req.somevariable是一个给定的‘未定义’".


//app.js
..
app.get('/someurl/', middleware1, middleware2)
...

////middleware1
...
some conditions
...
res.somevariable = variable1;
next();
...

////middleware2
...
some conditions
...
variable = req.somevariable;
...

推荐答案

将变量附加到req对象,而不是res.

而不是

res.somevariable = variable1;

拥有:

req.somevariable = variable1;

正如其他人所指出的,res.locals是通过中间件传递数据的推荐方式.

Javascript相关问答推荐

使用事件监听器在JavaScript中重新分配全局变量

在JavaScript中打开和关闭弹出窗口

如何从对象嵌套数组的第二级对象中过滤出键

获取加载失败:获取[.]添加时try 将文档添加到Firerestore,Nuxt 3

字节数组通过echo框架传输到JS blob

Angular中计算信号和getter的区别

我的服务工作器没有连接到我的Chrome扩展中的内容脚本.我该怎么解决这个问题?

使用LocaleCompare()进行排序时,首先使用大写字母

我可以使用使用node.js创建的本地主机来存储我网站上提交的所有数据吗?没有SQL或任何数据库.只有HTML语言

连接到游戏的玩家不会在浏览器在线游戏中呈现

如何将数组用作复合函数参数?

为什么客户端没有收到来自服务器的响应消息?

Reaction组件在本应被设置隐藏时仍显示

如何在HTMX提示符中设置默认值?

如何在Java脚本中对列表中的特定元素进行排序?

如何在和IF语句中使用||和&;&;?

如何在Java脚本中对数据进行签名,并在PHP中验证签名?

FireBase FiRestore安全规则-嵌套对象的MapDiff

本地损坏的Java脚本

如何在Reaction中清除输入字段