首页 > 解决方案 > 表达动态路由来处理 /a/bcd-:e-:f

问题描述

我的路线如下所示:

server.get("/something/best-shoes-in-india-:brand-:location", (req, res) => {
   res.send(JSON.stringify(req.params))

})

品牌名称 = 阿迪达斯,地点 = 德里

如果 url 是 => "/something/best-shoes-in-india-addidas-delhi 它给出 => { brand: addidas, location: delhi } 这是正确的但是

如果品牌名称是 => addi das, location = delhi 那么网址是 => "/something/best-shoes-in-india-addi-das-delhi

它给出 => { 品牌:addi,位置:das-delhi }

在这种情况下如何获得 addi-das 作为品牌名称?enter code here

标签: javascriptexpress

解决方案


你应该这样处理。

server.get("/something/best-shoes-in-india-/:brand/:location", (req, res) => {
  const { brand, location } = req.params;
  console.log(brand, location);
  res.send(JSON.stringify(req.params))
});

req.params.brand 将具有品牌 req.params.location 将具有位置


推荐阅读