gpt4 book ai didi

node.js - 修改 Node.js req 对象参数

转载 作者:IT老高 更新时间:2023-10-28 23:22:44 30 4
gpt4 key购买 nike

所以像往常一样,我试图在 SO 上找到这个问题,但仍然没有运气。

我知道答案是“是的,您可以修改 req 对象”,但没有提及 req 对象参数。

例如下面的代码会抛出错误:

app.get('/search', function(req, res) {
req.param('q') = "something";
});

错误:

ReferenceError: Invalid left-hand side in assignment


我想这与没有“SET”方法的属性或类似的东西有关。

在某些情况下,这可能会派上用场。

  1. 一种将快速链接转化为完整请求并将其代理出去的服务。
  2. 只需修改参数,然后将其发送到您不想修改的另一个函数。

关于问题,有没有办法修改req对象参数?

最佳答案

而不是:

req.param('q') = "something";

你需要使用:

req.params.q = "something";

第一个是尝试在 param 函数的返回值上设置一个值,而不是参数本身。

值得注意的是 req.param()方法从 req.bodyreq.paramsreq.query 中按顺序一次检索值,但要设置一个值需要指定它进入这三个中的哪一个:

req.body.q = "something";
// now: req.param('q') === "something"
req.query.r = "something else";
// now: req.param('r') === "something else"

也就是说,除非您永久修改从客户端提交的内容,否则最好将其放在其他地方,以免您正在使用的任何第三方模块将其误认为来自客户端的输入。

关于node.js - 修改 Node.js req 对象参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18801661/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com