gpt4 book ai didi

node.js - 如何请求将数组发布到服务器?

转载 作者:行者123 更新时间:2023-12-04 08:51:08 26 4
gpt4 key购买 nike

我需要执行一个请求来发送一个数组。但是当我这样做时,我得到 null作为结果。
结果 请求有效载荷 :

[  
{nom_name: "Test", cost: 500, quantity: 1, parentOrder_id: 19},
{nom_name: "35634", cost: 100, quantity: 1, parentOrder_id: 19}
]
结果 预览 :
{
address: null
apartment: null
code: null
cost: null
date_delivery: null
floor: null
hierarchyLevel: 1
is_new: true
name: null
nom_name: null
order_id: 40
parentOrder_id: null
payment: null
quantity: null
telephone: null
}
如何修复以防止 null发送到服务器的值是我发送的值吗?这样 post 请求就发送一个数组,而不是单个对象。
服务:
create(order: Order[]): Observable<Order> {
return this.http.post<Order>(`${env.url}/api/orders/create`, order);
}
ts:
  onSave() {
const order: Order[] =
this.order.list.map(e => {
const { order_id, ...rest } = e
return ({ ...rest, parentOrder_id: 19 })
})
this._order.create(order)
.subscribe(
() => {
console.log('Data Saved.')
},
error => {
console.log(error)
}
);
}
在服务器上,我使用 Nodejs 和 ORM Sequelize。
node.js Controller :
module.exports.create =  function (req, res) {
const order = db.orders.bulkCreate([
{
nom_name: req.body.nom_name,
quantity: req.body.quantity,
cost: req.body.cost,
parentOrder_id: req.body.parentOrder_id
}
])
res.status(201).json(order);
};

最佳答案

我个人并没有在 sequelize 上做过很多工作,但我很确定你需要直接传递 request-body 对象,因为 req.body包含数据数组,因此 req.body.nom_name例如将是 undefined .还有 bulkCreate定义为 async-function您应该在发送响应之前等待:

module.exports.create = async (req, res) => {
const orders = await db.orders.bulkCreate(req.body);
res.status(201).json(orders);
};

关于node.js - 如何请求将数组发布到服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64100840/

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