gpt4 book ai didi

node.js - 为什么 req.params 返回 'undefined' ?

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

我有一个简单的评论应用程序,用户可以通过表单在系统中输入评论,然后将这些评论记录到页面底部的列表中。

我想修改它,以便用户可以在创建评论标题后单击它,并且它将加载与该评论相关的相关内容。

我已经修改了 app.js 中的路由来查找 :id:

并且还修改了我的主要 Show.js 路由,以使用 id 作为 findOne 命令中的参数来定位评论。

我还输入了 console.log() 命令来注销 req.params.id

var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
var Comment = mongoose.model('Comment', Comment);

router.get('/', function(req, res) {
Comment.findOne({ id: req.params.id }, function(err, comment){
console.log(req.params.id)
});
});

module.exports = router;

但是,我在终端中收到的只是一条 undefined 消息。

如果我将 console.log() 直接放在 app.js 中,我会按预期记录 id。

app.use('/:id', function(req,res) {
console.log(req.params.id)
});

我的 route 是否遗漏了一些阻止我获取 id 参数的内容?

最佳答案

您需要在获取路由中指定 :id,如下所示:

// GET /1 -> print 1
router.get('/:id', function(req, res) {
console.log(req.params.id);
});
// GET /foo/1/bar/2 -> print 1, print 2
router.get('/foo/:id1/bar/:id2', function(req, res) {
console.log(req.params.id1);
console.log(req.params.id2);
});

关于node.js - 为什么 req.params 返回 'undefined' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25590370/

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