node.js - 我在这样的表中插入一行,但它不起作用
问题描述
这是我的代码
var express = require("express");
var router = express.Router();
var db = require("../database");
router.get("/form", function (req, res, next) {
res.render("users");
});
router.post("/create", function (req, res, next) {
// store all the user input data
const data = req.body;
// insert user data into users table
var sql = "INSERT INTO users ( `fullName`, `emailAddress`, `city`,`country`)
VALUES ('" + data.fullName + "', '" + data.emailAddress+ "', '" + data.city + "',
'" + data.country + "');";
db.query(sql, data, function (err, data) {
if (err) throw err;
console.log("User dat is inserted successfully ");
});
res.redirect("/users/form"); // redirect to user form page after inserting the
data;
});
module.exports = router;
我收到这样的错误
TypeError: Cannot read properties of undefined (reading 'fullName')
at /home/deekshitha/Videos/nodes/nodeapp/routes/_users.js:13:100
at Layer.handle [as handle_request]
(/home/deekshitha/Videos/nodes/nodeapp/node_modules/express/lib/router/layer.js:95:5)
at next
(/home/deekshitha/Videos/nodes/nodeapp/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/home/deekshitha/Videos/nodes/nodeapp/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/home/deekshitha/Videos/nodes/nodeapp/node_modules/express/lib/router/layer.js:95:5)
at /home/deekshitha/Videos/nodes/nodeapp/node_modules/express/lib/router/index.js:281:22
at Function.process_params (/home/deekshitha/Videos/nodes/nodeapp/node_modules/express/lib/router/index.js:335:12)
at next (/home/deekshitha/Videos/nodes/nodeapp/node_modules/express/lib/router/index.js:275:10)
at Function.handle (/home/deekshitha/Videos/nodes/nodeapp/node_modules/express/lib/router/index.js:174:3)
at router (/home/deekshitha/Videos/nodes/nodeapp/node_modules/express/lib/router/index.js:47:12)
解决方案
这里的问题boby
是未定义,因此当您尝试访问fullName
的字段时,data
您会看到该错误。
要解决这个问题,您需要先解析正文内容,您可以手动完成,也可以使用body-parser
中间件。
推荐阅读
- reactjs - 异步不显示结果
- javascript - 如何调用对象中的方法
- javascript - 文件加载器似乎不适用于标签
- php - 如何在 TYPO3 v9 单元测试中模拟、使用或覆盖 Environment::isCli()
- javascript - 通过单个 google 分析属性跟踪未定义的通配符子域
- c++ - 如何复制多态对象
- neo4j - 获取配置文件计划每个部分的执行时间
- wpf - 如何让 WPF DataGrid 列绑定到枚举?
- azure - 如何在 Windows server 2019 上使用 DSC powershell 配置和安装 nano 服务器
- microsoft-graph-api - 如何创建传播到与会者副本的 openType 扩展?