【发布时间】:2021-05-04 00:29:42
【问题描述】:
我用快递js创建api.
我通过 Postman:
POST http://localhost:3000/test
Form data : email: 'nasd@gmail.com'
header : Content-Type: 'application/x-www-form-urlencoded'
当我console.log(req.body)
它出现了:
{ '------WebKitFormBoundary9RYiOTi2ZDqN1AnB\r\n内容处置: 表格数据;姓名': '"电子邮件"\r\n\r\nasd@gmail.com\r\n------WebKitFormBoundary9RYiOTi2ZDqN1AnB--\r\n' }
如何获取电子邮件字段?
这是我的代码:
let express = require("express");
let morgan = require("morgan");
let bodyParser = require("body-parser");
let expressValidator = require("express-validator");
let session = require("express-session");
var multer = require("multer");
var upload = multer();
let MySQLStore = require("express-mysql-session")(session);
let app = express();
let PORT = 3000;
let options = {
host: "localhost",
port: "3306",
user: "root",
password: "12345678",
database: "timekeeper4",
};
let sessionStore = new MySQLStore(options);
app.use(
session({
key: "session_cookie_name",
secret: "session_cookie_secret",
store: sessionStore,
resave: true,
saveUninitialized: false,
})
);
app.use(morgan("dev"));
app.use(bodyParser.json());
app.use(expressValidator());
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(upload.array());
app.use(express.static("public"));
app.use("/test", (req, res) => {
console.log(req.body.name);
console.log(req.body);
res.send("Hello World!");
});
app.listen(PORT, () => {
console.log("Server started on http://localhost:" + PORT);
});
module.exports = app;
【问题讨论】:
-
您导入了 body-parser,但从未使用它将 body 数据解析为 JS 对象并使数据在您的代码中可用。