我用ReactJS和ExpressJS提出了这个问题:因此,基本上,用户使用React&axios在/info
路由上上传了一些信息。然后用户从服务器端获取路由参数以重定向到:
axios.post('/info', SomeData)
.then(res => res.data)
.then(data =>{
window.location.replace(`/info/${data.id}`)
})
这是小菜一碟,但是当用户重定向到该页面时,出现了问题,我需要从该页面获取数据。我可以获取路由参数并像这样在客户端执行请求:
componentDidMount(){
const { match: { params } } = this.props;
axios.get(`/api/info/${params.id}`)
}
但是如何在服务器端获取请求?如何表达对“ id”的访问以在数据库中搜索它并查询数据以发送回客户端?喜欢:
app.get('/api/info/:id', async (req,res)=>{
await db.find({id: req.params.id}, (data) =>{
res.status(200).send({data})
})
})
有帮助吗?谢谢!
答案 0 :(得分:1)
从与GET
相同的组件本身中使用您的参数,并将您的服务称为POST
postUserInfo = () => {
const userInfo ={};
axios.post(`/api/info/${params.id}`,userInfo).then(()=>{
console.log("user info posted");
})
}
示例:
<Form onSubmit={this.postUserInfo}> </form>