gpt4 book ai didi

node.js - 如何在react.js中将参数传递给API get请求

转载 作者:太空宇宙 更新时间:2023-11-03 22:50:02 24 4
gpt4 key购买 nike

我想知道有没有办法将参数从客户端传递到后端API get Request。此时,我对所需的参数进行了硬编码(名称:“newName”)。

后端路由:

app.get('/api/get/beerWithComments', (req,res,next) =>{



Beer.findOne({name:'newName'}) //I want to pass the correct name, now it's hard coded.
.populate('comments').exec((err,beer) =>{
if(err) return next(err);
res.json(beer);
});

});

我的操作方法:

  export const fetchBeerWithComments =() => async dispatch => {
const res= await axios.get('/api/get/beerWithComments');
dispatch({type: FETCH_BEER_WITH_COMMENTS, payload : res.data });

}

我想将参数传递到这里。但我不知道是否可以将参数传递到我的后端。

export const fetchBeerWithComments =(parameter) => async dispatch => {...

最佳答案

您可以在查询字符串中传递参数name,并使用req.query在处理程序中读取参数值,例如

app.get('/api/get/beerWithComments', (req, res, next) =>{
var qname = req.query.name || "";
if(!qname.length) {
res.status(404).json({"msg": 'Invalid name in query string'});
res.end();
return;
}
Beer.findOne({name: qname}) //I want to pass the correct name, now it's hard coded.
.populate('comments').exec((err,beer) =>{
if(err) return next(err);
res.json(beer);
});
});

从客户端调用 GET API 时,只需添加查询字符串参数 name 以及相应的值,它就应该按您的预期工作。例如 URL 将类似于

export const fetchBeerWithComments =(parameter) => async dispatch => {
const res= await axios.get('/api/get/beerWithComments?name=' + parameter);
dispatch({type: FETCH_BEER_WITH_COMMENTS, payload : res.data });
}

关于node.js - 如何在react.js中将参数传递给API get请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50551888/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com