node.js - 我使用 express for node.js 得到冒号和我的参数

标签 node.js rest express routing

这是我的路线:

router.route('/search:word').get(function(req, res) {
  var re = new RegExp(req.params.word, 'i');
  console.log(req.params.word);

  Place.find().or([{ 'title': { $regex: re }}, { 'category': { $regex: re }}]).sort('title').exec(function(err, places) {
    res.json(JSON.stringify(places));
  });
});

当我使用请求 /places/search:test 时,控制台显示 :test 而不仅仅是“test”。 知道发生了什么吗?

最佳答案

您真的要使用 router.route('/search:word') 而不是 router.route('/search/:word') 吗?使用冒号似乎有点奇怪。

如果您使用router.route('/search/:word'),并且如果您的请求是

/places/search/test

然后你得到 req.params.word="test"

关于node.js - 我使用 express for node.js 得到冒号和我的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23576284/

相关文章:

javascript - node/lib 中的 *.js 文件是否在 Node 可执行文件的编译过程中使用?

java - Spring Boot-控制404未找到

python - 如何允许来自 Axios 的 CORS 在 Django 后端获取请求?

node.js - 我可以使用 sharp 和 multer 来调整图像大小并在一次操作中保存到磁盘吗?

javascript - Node.js, 'X' 未定义

node.js - 从网络应用程序打印具有特定设置的文件

javascript - Sinon stub 传递参数

javascript - 有或没有请求结束事件,有什么区别?

java - Jersey JAX-RS : Specifying/* as base URL pattern

node.js - 在中间件中获取路由定义