【发布时间】:2021-02-16 03:48:17
【问题描述】:
我将一个搜索参数从我的 React 前端传递到我的 mySQL Express 后端。我的硬编码查询有效,但是当我尝试传入参数时,我的代码不会捕获错误,但它也不会将任何数据加载到 url。
前端组件:
handleChange = (e) =>{
e.preventDefault();
console.log(e.target.value);
setState(e.target.value);
Axios.get("http://localhost:3000/api/data", {params: {state:state}})
.then(()=>{
console.log("successful GET");
})
}
后端路由器:
router.get('/', async (req, res, next)=>{
let state = req.query.state;
try{
let results = await mysqldb.getCities(state);
res.json(results);
} catch(e){
console.log(e);
res.sendStatus(500);
}
});
后端的db:
let mysqldb = {};
mysqldb.getCities = (state) =>{
return new Promise((resolve, reject) =>{
conn.query("SELECT city FROM states_city WHERE state_name=? ORDER BY city", [state], (err, results)=>{
if(err){
return console.log(err);
}else{
console.log("queried succesful " + state);
return resolve(results);
}
})
});
}
【问题讨论】:
-
嗨,你能
console.log()results变量吗? -
哦,我得到“RowDataPacket { city: namehere }”,所以它得到了结果,但是 json 没有显示在 url 上?什么是行数据包?
标签: mysql reactjs database express axios