javascript - Express 中的路由参数为空

标签 javascript node.js express url-routing

我尝试打印路由器参数,但 req.params 是空的,不知道我做错了什么。

在 app.js 中:

...
var shareFile=require('./controllers/file/share');
...
app.use('/share/:id', shareFile);
...

和 share.js Controller :

var express = require('express');
var router = express.Router()

router.get('/', function (req, res, next) {
    res.send(req.params)
});

module.exports = router;

localhost:3000/share/123 给出空的 json 页面。将 res.send 更改为 console.log 会得到 {}

谢谢

最佳答案

当路由定义为 /share/:id 并且您调用了 http 时,

req.params 将生成 {id: 'abc'} ://yourserver/share/abc

router.get('/', function (req, res, next) {
    res.send(req.params)
});

在上面你应该预料到 req.params 在这里是空的,因为你没有预料到它们。但是你应该在这里看到它们:

router.get('/share/:id', function (req, res, next) {
    res.send(req.params)
});

关于javascript - Express 中的路由参数为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45244442/

相关文章:

javascript - 尝试对 http 请求进行排队时出现 process.tick 错误

Javascript 堆栈跟踪显示为空

node.js - vorpal .validate 抛出错误

javascript - 使用 javascript 或 jquery 显示 pst 或通用时间

node.js - 在 Elastic Beanstalk 上安装 mongodb 的推荐方法

node.js - sails 控制台中的多行命令

javascript - 无法设置静态文件夹express.js

javascript - 使用 Express 代理,如何更改相对 url?

javascript - 当页面A在iframe外部加载时,重定向到页面B并在iframe中加载页面A

javascript - meteor :如何按关注最多的用户排序?