- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有以下代码:
var express = require('express');
var app = express();
app.use(express.bodyParser());
app.use(express.cookieParser());
var port = Number(process.env.PORT || 5000);
app.get('/test/:id', function(req, res) {
res.send(req.params);
});
app.listen(port);
console.log("Listening on port " + port);
当我在浏览器中点击 http://localhost:5000/test/12345
时,我看到:
[]
但我希望看到带有 id: 12345
的已填充 req.params 对象。知道我做错了什么吗?
谢谢。
最佳答案
查了一下,req.params其实是一个关联数组,和object差不多,但又不完全一样。不确定为什么 express 会这样定义它。它获得的唯一好处是为数组添加了长度属性。 res.send 将尝试对您的输出进行 JSON.stringify,这反过来会看到它是一个数组并且只处理数字索引。因此空 [] 作为返回值。
你可以通过这样做来验证这一点 -
var myParams = {};
Object.keys(req.params).forEach(function(key){
myParams[key] = req.params[key];
});
res.send(myParams);
您还可以看到 JSON.stringify 只关心数字索引,方法是这样定义您的路由 -
app.get('/test/:0', function(req, res) {
res.send(req.params);
});
关于javascript - Express 中间件没有效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21914006/
我正在使用 Gunicorn 为 Django 应用程序提供服务,它工作正常,直到我将其超时时间从 30 秒更改为 900000 秒,我不得不这样做,因为我有一个用例需要上传和处理一个巨大的文件(过程
我有一个带有非常基本的管道的Jenkinsfile,它可以旋转docker容器: pipeline { agent { dockerfile { args '-u root' } } stag
在学习 MEAN 堆栈的过程中,我遇到了一个问题。每当我尝试使用 Passport 验证方法时,它都不会返回任何响应。我总是收到“localhost没有发送任何数据。ERR_EMPTY_RESPONS
在当今的大多数企业堆栈中,数据库是我们存储所有秘密的地方。它是安全屋,是待命室,也是用于存储可能非常私密或极具价值的物品的集散地。对于依赖它的数据库管理员、程序员和DevOps团队来说,保护它免受所
是否可以创建像图片上那样的边框?只需使用 css 边框属性。最终结果将是没 Angular 盒子。我不想添加额外的 html 元素。我只想为每个 li 元素添加 css 边框信息。 假设这是一个 ul
我是一名优秀的程序员,十分优秀!