我需要從表單中使用 Express 決議資料:
invoiceRouter.post('/', async (req,res) => {
console.log(req.body);
let invoice = new Invoice();
invoice = req.body;
invoice.status = 0;
//save
res.redirect('/invoices');
});
當我登錄時,物件陣列被讀取為值串列:
{
createdDate: '2021-10-15',
invoiceRows: [ 'Title3', '2', 'Title2', '3' ]
}
但它無法將發票行讀取為 2 的陣列,因此我正在努力將其決議為陣列以保存它。當我設定 時extended: false,我可以從 req.body 看到以下結果:
[Object: null prototype] {
createdDate: '2021-10-15',
'invoiceRows[0].productTitle': 'Title2',
'invoiceRows[0].unitPrice': '2',
'invoiceRows[1].productTitle': 'Title3',
'invoiceRows[1].unitPrice': '2'
}
我正在使用的架構:
const invoiceSchema = new mongoose.Schema({
createdDate: {
type: Date,
required: true
},
status: {
type: Number,
required: true
},
invoiceRows: [{
productTitle: String,
unitPrice: Number
}]
});
問題:為了從父物件內部的 req.body 獲取物件陣列,我做錯了什么?
uj5u.com熱心網友回復:
在您的 req.body 中,您應該收到如下內容(根據您的模型架構)。讓你的前端像波紋管一樣發送資料。
{
createdDate: '2021-10-15',
invoiceRows: [ { productTitle :'Title1', unitPrice : 2}, { productTitle :'Title2', unitPrice : 3} ]
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/329446.html
