我正在对mssql数据库使用sequelize。以下是订单的模型:
import Sequelize from "sequelize";
import { db } from "../config/database.js";
const Orders = db.define(
"order",
{
customerName: {
type: Sequelize.STRING,
},
customerAddress: {
type: Sequelize.STRING,
},
phoneNumber: {
type: Sequelize.STRING,
},
email: {
type: Sequelize.STRING,
},
},
{
timestamps: false,
}
);
export { Orders };
我已经将http post写成了以下内容:
router.post("/orders", async (req, res) => {
const { customerName, customerAddress, phoneNumber, email } = req.body;
const order = await Orders.create({
customerName,
customerAddress,
phoneNumber,
email,
});
res.json(order);
});
但是,当我尝试从Postman或我的前端发帖时,我收到以下消息:
const { customerName, customerAddress, phoneNumber, email } = req.body;
^
TypeError: Cannot destructure property 'customerName' of 'req.body' as it is undefined.
这是我的前端:
function submit(e) {
console.log(order);
e.preventDefault();
axios
.post("http://localhost:3002/parts/orders", {
customerName: order.customerName,
customerAddress: order.customerAddress,
phoneNumber: order.phoneNumber,
email: order.email,
})
.then((res) => {
console.log(res.data);
});
}
此函数由提交的表单使用。它将数据发送到/parts/orders,因为我更改了路由。我有console.log(订单),所以我可以看到它实际上是一个包含数据的订单。这是我在console中得到的,所以我认为订单中有数据,所以req.body也应该有数据。{customerName: "testman", customerAddress: "test street", phoneNumber: "testnumber", email: "test@gmail.com"}
那么为什么我的数据库没有得到它应该得到的数据呢?
发布于 2021-05-11 02:01:17
我的index.js文件中没有app.user(express.json())
https://stackoverflow.com/questions/67474867
复制相似问题