如何将 Body Parser 与导入一起使用而不是必需的? ES6
How to use Body Parser with import and not required? ES6
我正在从事一个严格使用导入的项目,这使我无法使用必需的语句。我想知道如何使用 Body Parser 的导入将 post 请求的内容读取到我的服务器。
'''
//jshint esversion:6
// Require the needed NPMs
import Radar from "radar-sdk-js";
import express from "express";
import bodyParser from "body-parser";
import { dirname } from 'path';
import { fileURLToPath } from 'url';
const __dirname = dirname(fileURLToPath(import.meta.url));
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.use(express.static("public"));
/*app.use(bodyParser.json({
verify: (req, res, buf) => {
req.rawBody = buf;
}
})*/
app.get("/", function(req, res) {
res.sendFile(__dirname + "/public/index.html");
});
app.post("/", function(req, res) {
console.log(req.body);
console.log(req.body.trackedName);
'''
您的表单正在使用 multipart/form-data
作为内容类型,但您没有用于该内容类型的任何中间件,并且没有理由使用更复杂的内容类型,除非您同时上传文件。您可以将内容类型切换为您的中间件支持的两种类型之一,application/json
或 application/x-www-form-urlencoded
,以便它与您的中间件匹配。
我正在从事一个严格使用导入的项目,这使我无法使用必需的语句。我想知道如何使用 Body Parser 的导入将 post 请求的内容读取到我的服务器。
'''
//jshint esversion:6
// Require the needed NPMs
import Radar from "radar-sdk-js";
import express from "express";
import bodyParser from "body-parser";
import { dirname } from 'path';
import { fileURLToPath } from 'url';
const __dirname = dirname(fileURLToPath(import.meta.url));
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.use(express.static("public"));
/*app.use(bodyParser.json({
verify: (req, res, buf) => {
req.rawBody = buf;
}
})*/
app.get("/", function(req, res) {
res.sendFile(__dirname + "/public/index.html");
});
app.post("/", function(req, res) {
console.log(req.body);
console.log(req.body.trackedName);
'''
您的表单正在使用 multipart/form-data
作为内容类型,但您没有用于该内容类型的任何中间件,并且没有理由使用更复杂的内容类型,除非您同时上传文件。您可以将内容类型切换为您的中间件支持的两种类型之一,application/json
或 application/x-www-form-urlencoded
,以便它与您的中间件匹配。