如何解决如何将变量发送到后端 - Mern Stack
我正在尝试根据查询从 Mongo db 获取一些记录。我完成了后端,它与 Postman 配合得很好,但我不知道如何将查询的变量从 React 前端发送到后端。
有一个 Client 模型类,我想检索具有特定公司 ID 的所有客户,我将在单击按钮时从前端发送该 ID。
Controller.js
exports.viewSpecificclients = async(req,res)=>{
const id = req.query.id;
console.log(id);
try{
const clients = await Client.find({clientCompanyName: id});
res.json({clients});
}catch(err){
console.log(err,'clientsController.viewSpecificclients error');
res.status(500).json({
errorMessage: 'Please try again later'
})
}
};
路线
router.get('/',clientsController.viewSpecificclients);
我必须使用 Redux,所以我尝试这样做,但我只能设法显示数据库中的所有客户端(我不知道如何发送变量)。
Redux 中的 Action.js
export const getClients = () => async dispatch =>{
try{
const response = await axios.get('clients');
dispatch({
type: GET_CLIENTS,payload: response.data.clients
});
}catch(err){
console.log('getClients api error:',err);
}
}
您能否帮助我了解如何使用 redux 从前端发送公司 ID - 那就是我需要有关如何更改操作功能的帮助以及我需要在 main.js 文件中做什么时按钮被点击?
解决方法
如果你在前端可以访问companyId,你需要做的就是
const response = await axios.get(`clients?id=${companyId}`);
假设后端 express 已经配置了查询解析器。(默认)
也许你可以拥有
const getClients = (companyId) => dispatch => {
const response = await axios.get(`clients?id=${companyId}`);
// above code here
}
如果您需要进一步跟进,请告诉我。
,你有两个选择。首先,您将参数的值作为查询字符串传递。另一种选择是将您的 get 请求修改为 POST 请求,您可以在其中添加请求正文。如果您尝试像对象一样传递更多值,则 post 请求会更好。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。