gpt4 book ai didi

node.js - 如何获取url参数?

转载 作者:太空宇宙 更新时间:2023-11-04 02:57:01 25 4
gpt4 key购买 nike

我对 Express 很陌生,我想解析 url 参数。我的代码如下:

router.get('/', function (req, res) {
var aCustomerIdValue = req.param.aa;
console.log('In / Function be called: %s',aCustomerIdValue);
res.redirect('/checkouts/new');
});

但是控制台显示“未定义”。有什么线索吗?我的 express 是4.0。提前谢谢您!

最佳答案

参数类型

req.params

它应该是req.params.aa而不是req.param.aa - 请参阅:

但它仅适用于router.get('/:aa', ...)等路由path中的":aa"参数 - 它将把请求中的XXX保存到req.params.aa中的GET/XXX

req.query

对于查询参数(最有可能用于 GET 请求),请使用 req.query - 请参阅:

它将把请求中的XXX保存到req.query.aa中的GET/?aa=XXX

请求正文

对于请求正文中传递的参数,请使用 req.body - 请参阅:

它将把请求的body中传递的aa参数(很可能是POST请求)保存在req.body.aa

req.param()

对于其中任何一个,还有 req.param('name'),按以下顺序搜索:

  1. req.params
  2. req.body
  3. req.query

但它已被弃用 - 感谢 Ben Fortune 在评论中指出 - 请参阅:http://expressjs.com/en/api.html#req.param

你的例子

尝试:

router.get('/', function (req, res) {
var aCustomerIdValue = req.query.aa;
console.log('In / Function be called: %s', aCustomerIdValue);
res.redirect('/checkouts/new');
});

如果参数是在查询字符串中传递的,或者:

router.get('/', function (req, res) {
var aCustomerIdValue = req.body.aa;
console.log('In / Function be called: %s', aCustomerIdValue);
res.redirect('/checkouts/new');
});

如果参数是在请求体中传递的。

关于node.js - 如何获取url参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39589977/

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