快递js无法通过路由器获得参数

时间:2017-04-22 15:08:37

标签: javascript reactjs

当我做

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

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

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

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

1 个答案:

答案 0 :(得分:0)

使用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
});
相关问题