Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 这两条路线在nodejs中相同吗?_Node.js_Express - Fatal编程技术网

Node.js 这两条路线在nodejs中相同吗?

Node.js 这两条路线在nodejs中相同吗?,node.js,express,Node.js,Express,快车路线: /search/:company-name /search/:category-name 我可以看到,第一个是为两个请求触发的,因此它们是相同的,但是有没有一种方法可以解决这个问题而不涉及以下内容,例如: /search/company/:company-name /search/category/:category-name 是的,它们是一样的 路由器只看到一条以search/开头,以通配符结尾的路由。唯一改变的是你给那个通配符起的名字,这对路由器来说并不重要,它仍然是同一个U

快车路线:

/search/:company-name
/search/:category-name
我可以看到,第一个是为两个请求触发的,因此它们是相同的,但是有没有一种方法可以解决这个问题而不涉及以下内容,例如:

/search/company/:company-name
/search/category/:category-name

是的,它们是一样的

路由器只看到一条以
search/
开头,以通配符结尾的路由。唯一改变的是你给那个通配符起的名字,这对路由器来说并不重要,它仍然是同一个URL


您可以通过更改路由来解决此问题,也可以解析路由参数(通配符),并根据其值执行不同的操作。

是的,它们是相同的

路由器只看到一条以
search/
开头,以通配符结尾的路由。唯一改变的是你给那个通配符起的名字,这对路由器来说并不重要,它仍然是同一个URL


您可以通过更改路由来解决此问题,也可以解析路由参数(通配符),并根据其值执行不同的操作。

您可以使用查询而不是参数。 您的URL将是:

/search?company=company-name
/search?category=category-name
您的路由是
/search
,您使用req.query而不是req.params

要么是

  • 或者你改变路线的方案
  • 或者以某种方式解析参数以确定它是公司还是类别
  • 或者更改到帖子的路径,并在帖子正文中使用键值对

    • 您可以使用查询而不是参数。 您的URL将是:

      /search?company=company-name
      /search?category=category-name
      
      您的路由是
      /search
      ,您使用req.query而不是req.params

      要么是

      • 或者你改变路线的方案
      • 或者以某种方式解析参数以确定它是公司还是类别
      • 或者更改到帖子的路径,并在帖子正文中使用键值对

      node.js/express如何在路由级别区分公司名称和类别名称?@DrakaSAN这是我的问题。在长版本中,溺水在速度上击败了我,但我的第一条评论是重复的。一旦你知道公司和类别是什么,你就可以将它们分开,但express不能帮你。你可以直接使用(express解析路由的方式)来检查将用于匹配请求的模式。对于两者,结果都是一样的–
      /^\/search\/([^\/]+?)\/?$/i
      。node.js/express如何在路由级别区分公司名称和类别名称?@DrakaSAN这是我的问题。在长版本中,溺水在速度上击败了我,但我的第一条评论是重复的。一旦你知道公司和类别是什么,你就可以将它们分开,但express不能帮你。你可以直接使用(express解析路由的方式)来检查将用于匹配请求的模式。对于两者,结果都是相同的–
      /^\/search\/([^\/]+?)\/?$/i
      。是的,我也这么想。谢谢。是的,我也是这么想的。谢谢