繁体   English   中英

表达js无法使用路由器获取参数

[英]express js can't get param with router

我收到{id:e}

router.get('/api/admin/profile?:id', (req, res) => {
  console.log(req.params);
});

这是我的前端代码,我正在使用访存。

fetch(`/api/admin/profile?id=${id}`, {
      headers: {
        'Authorization': `bearer ${Auth.getToken()}`,
        'Content-Type': 'application/json'
      },
      method: 'GET'
    })

怎么了? 我不确定哪一方是错误的。

使用req.query

let id = req.query.id;

如果您想使用:param语法,则您的路由格式不正确

路由应为'/api/admin/profile/:id'

然后执行以下请求: '/api/admin/profile/${id}'

//Using req.params
router.get('/api/admin/profile/:id', (req, res) => {
    console.log(req.params); 
    // { id: 5 } from /api/admin/profile/5
    // { id: 70 } from /api/admin/profile/70
});

//Using req.query
router.get('/api/admin/profile', (req, res) => {
    console.log(req.query); 
    // { id: 5 } from /api/admin/profile?id=5
    // { id: 70 } from /api/admin/profile?id=70
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM