【问题标题】:how to fetch req.params whatever it was如何获取 req.params 不管它是什么
【发布时间】:2017-06-15 21:10:29
【问题描述】:

我正在开发一个 url 缩短器 api。我面临的问题是,如果我传递像https://www.youtube.com/watch?v=8aGhZQkoFbQ 这样的参数,那么req.params.url 将只等于https://www.youtube.com/watch。我在 stackoverflow 上看了很多,所有答案都相似,但不是我要找的。​​p>

我想解析url参数并获取它包含的字符。

这是我现在使用的 URI

router.route('/add/:url(*)')

【问题讨论】:

    标签: node.js express


    【解决方案1】:

    也许您想要网址的query 部分?查看req.query 文档(和请求的其他部分)并阅读URI 的部分或wikipedia 上的更正式定义。拥有正确的名称将帮助您理解 Express.js 文档。

    来自 express.js 文档:

    // GET /search?q=tobi+ferret
    req.query.q
    // => "tobi ferret"
    

    来自维基百科:

     scheme:[//[user:password@]host[:port]][/]path[?query][#fragment]
    

    【讨论】:

      【解决方案2】:

      你可以试试这样的:

      app.get(/[/]add[/].*/, function (req, res) {
      
          var uri = req.originalUrl.replace(/^[/][^/]*[/]*/, '');
          console.log(uri);
          res.end();
      
      });
      

      【讨论】:

      • 非常感谢。解决了这个问题。但我想知道为什么我的问题有 5 个反对票?
      • @BahaaZidan 很高兴知道它有帮助。我不知道为什么有 5 次反对票 - 现在你有 1 次赞成票。 ;)
      • 我敢打赌,投反对票的部分原因是原版中使用了全部大写字母。我修改了你问题的语气,因为我认为这是一个合理的问题。
      猜你喜欢
      • 1970-01-01
      • 2020-03-01
      • 2020-02-02
      • 2016-12-15
      • 2018-10-23
      • 1970-01-01
      • 2010-09-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多