【问题标题】:Express JS routing parametersExpress JS 路由参数
【发布时间】:2019-09-10 22:09:22
【问题描述】:

我需要使用来自 quote_number 参数的数据来创建来自这个 url 的查询:

http://localhost:3000/#/quote/line/?quote_number=1003

在哪里quote_number = ${req.params.quote_number}

我希望从中得到 1003,但我得到 line 作为返回参数

【问题讨论】:

    标签: javascript node.js express


    【解决方案1】:

    网址不正确。因为您有 # 符号,所以之后什么都不会被识别。我不知道你是否这样做,因为没有额外的代码。

    如果你这样尝试:

    app.get('/quote/line/:id', (req, res) =>{
        console.log(req.params);
    });
    

    浏览器中的网址:

    http://localhost:3000/quote/line/quote_number=1003
    

    结果:

    { quote_number: 'quote_number=1003' }
    

    如果您使用query 而不是params

    app.get('/quote/line/', (req, res) =>{
        console.log(req.query);
    });
    

    在浏览器中:

    http://localhost:3000/quote/line/?quote_number=1003
    

    结果:

    { quote_number: '1003' }
    

    现在,你可以通过

    req.query.quote_number
    

    参考资料:

    req.query and req.param in ExpressJS

    【讨论】:

    • 不仅仅是express在#之后没有识别任何东西(如果是这种情况你可以自己手动解析url),而且浏览器在#之后没有发送任何东西给服务器
    猜你喜欢
    • 1970-01-01
    • 2016-04-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-12
    • 2015-10-08
    • 1970-01-01
    • 2020-03-26
    • 2021-10-19
    相关资源
    最近更新 更多