快速检索实体数据节点



我正在尝试检索正文数据,但我在终端上只收到未定义的数据,不知道如何/在哪里检索"电子邮件";。我在谷歌上搜索了一下,但找不到答案。

这是app.js文件:

const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.urlencoded({ extended: true }));
//routes which should handle request
app.post("/orders", (req, res, next) =>{
console.log(req.body.email);
res.json(["Orange", "Apple", "Banana"]); 
});
//export app
module.exports = app;

这是server.js文件:

const http = require('http');
//import app.js file
const app = require('./app');
//define port to be used
const port = process.env.PORT || 3100;
const server = http.createServer(app);
server.listen(port, () =>{
//print a message when the server runs successfully
console.log("Success connecting to server!");
});

我想收到";name";数据,并在函数中使用它来返回json。我使用邮递员只使用一个名为"的密钥发送邮件请求;电子邮件";。Postman接收Json测试数据";橙色、苹果、香蕉;不过,我已经编码了。

对于x-www-form-urlencoded,您的示例应该可以正常工作(只需在body选项卡下的Postman中选择它(。

如果你想将数据(例如文件(POST为multipart/form-data,你可以安装multer中间件并在你的应用程序中使用它:app.use(multer().array())

// File: app.js
const express = require('express');
const bodyParser = require('body-parser');
const multer = require('multer');
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(multer().array());
//routes which should handle request
app.post("/orders", async (req, res, next) =>{
console.log(req.body.email);
res.json(["Orange", "Apple", "Banana"]);
});
//export app
module.exports = app;

这适用于:

curl --location --request POST 'localhost:3100/orders' 
--form 'email=john@example.com'

curl --location --request POST 'localhost:3100/orders' 
--header 'Content-Type: application/x-www-form-urlencoded' 
--data-urlencode 'email=john@example.com'

最新更新