简体   繁体   English

ExpressJs:获取Form数据体的数据

[英]ExpressJs : Get data of Form data body

I use express js to create api.我使用 express js创建api.

In Postman I pass:在 Postman 我通过:

POST http://localhost:3000/test

Form data :     email: 'nasd@gmail.com'

header :     Content-Type: 'application/x-www-form-urlencoded'

when I console.log(req.body)当我console.log(req.body)

It appear:它出现:

{ '------WebKitFormBoundary9RYiOTi2ZDqN1AnB\r\nContent-Disposition: form-data; { '------WebKitFormBoundary9RYiOTi2ZDqN1AnB\r\nContent-Disposition: form-data; name': '"email"\r\n\r\nasd@gmail.com\r\n------WebKitFormBoundary9RYiOTi2ZDqN1AnB--\r\n' } name': '"email"\r\n\r\nasd@gmail.com\r\n------WebKitFormBoundary9RYiOTi2ZDqN1AnB--\r\n' }

How can I get the email field?如何获取 email 字段?

This is my Code:这是我的代码:

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;

Need to use urlencoded()需要使用urlencoded()

 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(bodyParser.urlencoded()); 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;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM