javascript - 无法解构属性,因为它是未定义的
问题描述
我正在为 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帖子:
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(order) 所以我可以看到它确实是一个带有数据的订单。这就是我在控制台中得到的,所以我想订单中有数据,req.body 也应该如此。
{customerName: "testman", customerAddress: "test street", phoneNumber: "testnumber", email: "test@gmail.com"}
那么为什么我的数据库没有得到它应该得到的数据呢?
解决方案
app.user(express.json())
我的 index.js 文件中没有
推荐阅读
- html - 如何删除两行 CSS flexbox 之间的空间?
- while-loop - C ++程序从键盘添加正奇数,忽略偶数并在输入负数或零时停止 - 对奇数求和
- javascript - 无法访问对象内和对象中的数据
- .net - 需要在异步调用时等待(),但好的做法是不要阻止异步
- javascript - 即使代码有效,属性错误。有关系吗?
- shell - 脚本在同事设备上完美运行,但给了我“无效的跨设备链接”
- c++ - 如何将单词放入var
- java - 线程不执行运行方法
- sql - 当 A 表的 ID 在 B 表的 PID 列中具有相同的 PUID 时如何从结果中排除记录
- series - 具有 4 个图表网格的 Echarts 数据缩放