Javascript 如何正确使用nodejs将嵌套数组中的多条记录发布到mysql表中?
我正试图将对象数组发送到https上的节点服务器,该服务器将把它们发布到mysql表中,原因是我需要插入多行。根据我所读到的,我应该使用嵌套数组。但我不确定在将其发送到节点服务器后如何处理。以下是我的工作内容: 阵列Javascript 如何正确使用nodejs将嵌套数组中的多条记录发布到mysql表中?,javascript,mysql,arrays,reactjs,post,Javascript,Mysql,Arrays,Reactjs,Post,我正试图将对象数组发送到https上的节点服务器,该服务器将把它们发布到mysql表中,原因是我需要插入多行。根据我所读到的,我应该使用嵌套数组。但我不确定在将其发送到节点服务器后如何处理。以下是我的工作内容: 阵列 menuItems: [ { "id": 1234, "item_name": 'meal',
menuItems: [
{
"id": 1234,
"item_name": 'meal',
"price": 6
},
{
"id": 1235,
"item_name": 'drink',
"price": 6
}
],
发送功能
sendMenuItems = (id, item_name, price) => {
//translate array of objects to array of arrays
const output = this.state.menuItems.map(function(obj) {
return Object.keys(obj).sort().map(function(key) {
return obj[key];
});
});
fetch(
//HOW DO I FIT OUTPUT INTO MY POST REQUEST?
`${x}/addMenuItem?id=${id}&item_name=${item_name&price=${price}`,
{ method: "POST" }
).catch((error) => {
console.log(error)
})
}
节点服务器
app.post('/addMenuItem', cors(), (req, res) => {
var values = {
id: req.query.id,
item_name: req.query.item_name,
price: req.query.price
}
let sql = 'INSERT INTO db.menu(id,item_name,price) VALUES ?';
// now the createStudent is an object you can use in your database insert logic.
pool.query(sql, values, function (err, results) {
if(err) {
console.log(err)
return res.send(err)
} else {
return res.status(HttpStatus.OK).json({ message: 'ok', status: HttpStatus.OK })
}
});
});
看起来,
输出
变量只是被丢弃了,没有发送到服务器。您没有将其包含在POST请求中。如何定义AddMenuItemAPI取决于您,但一个选项是将菜单项作为请求主体。看起来,输出
变量只是被丢弃了,没有发送到服务器。您没有将其包含在POST请求中。如何定义AddMenuItemAPI取决于您,但一个选项是将菜单项作为请求主体。