【发布时间】:2019-05-24 17:59:32
【问题描述】:
在使用 url 参数的服务器端获得了简单的 get 方法,以及对该 url 的客户端请求(反应),但问题是服务器返回未定义的参数。这是代码:
服务器(index.js):
router.use('/api/info/:name/:id', require('./info'))`
info.js:
router.get('/', async (req, res) => {
try {
const name = req.params.name;
const id = req.params.id;
console.log('name ' + name +' id ' + id)
return res.status(200).send({
id: id,
name: name
})
} catch (err) {
return res.status(500).send({
message: err.message
})
}
})
和客户端(ReactJS):
componentDidMount(){
const { match: { params } } = this.props;
axios.get(`/api/recipe/${params.name}/${params.id}`)
.then(res => res.data)
.then(data =>{
console.log(data)
})
}
正如我所说,此代码在服务器端返回未定义的名称和 ID,但客户端工作(我记录它并且它是有效的)。在控制台中它也给了我这个错误(DevTools 的控制台)
未捕获(承诺中)错误:请求失败,状态码为 500
怎么了?谢谢!
【问题讨论】:
标签: javascript node.js regex reactjs express