无法相信我必须问这个问题,但是如何从Express中的get请求中获取路径参数?

时间:2018-02-27 16:45:28

标签: node.js express axios

所以我坐在客户端上定义为/article/:id的路由上,我像这样查询服务器API:

const res = await axios.get(url + '/api/article')

(不要担心url,只是为了获得绝对路径。)

然后我有我的路线:

router.get('/article', function(req, res) {
  //I want to find the id from the params
  //Trying fucking everything
  console.log("host", req.get('host')) // 'localhost:3000'
  console.log("url", req.url) // '/article'
  console.log("query", req.query) // '{}'
 })

显然这在Express / axios世界中是疯狂的东西,因为我花了一整天的时间试图找出如何做到这一点,但是没有关于这个主题的信息。

我如何完成这个愚蠢的简单任务?

2 个答案:

答案 0 :(得分:1)

您的要求是

const res = await axios.get(url + '/api/article')

您不发送身份证明。如果你想提出一个查询,你应该

const res = await axios.get(url + '/api/article?id=theId')

并使用req.query.id 或者您必须将路线更改为

router.get('/article/:id', ....

致电const res = await axios.get(url + '/api/article/theId')

并使用req.params.id

答案 1 :(得分:-1)

router.get('/article/:id', function(req, res) {
    //I want to find the id from the params
    console.log(req.params.id)
})

从这里采取:https://expressjs.com/en/guide/routing.html