node.js,表达,如何在请求后从主体表单数据中获取数据 [英] node.js, express, how to get data from body form-data in post request

查看:104
本文介绍了node.js,表达,如何在请求后从主体表单数据中获取数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个简单的node.js应用程序.我想从用户那里获取帖子正文.

I have a simple node.js app. I want to get post body from user.

app.js

var express = require('express');
var app = express();

app.use(express.json());

app.post('/api/user', function (req, res) {
    console.log(req.body);
    console.log(req.body.username);
});

module.exports = app;

server.js

var app = require('./app.js');

var server = app.listen(3000, function () {

    var port = server.address().port;

    console.log('Web App Hosted at http://localhost:%s',port);

});

当我用node server.js启动它时,它很好.当我和邮递员核对时,

When i launch it with node server.js, its fine. When i check it with postman,

在控制台中,它返回

Web App Hosted at http://localhost:3000
{}
undefined

我有最新的快递.

我尝试了其他类似添加body-parser的操作,将标头添加到content-type,添加express.urlencoded(),但是没有任何效果.我需要像上图的邮递员一样从form-data获取数据.我如何得到它?

And i have try other thing like add body-parser, add header to content-type, add express.urlencoded(), but none work. i need to get data from form-data like postman on picture above. How i can get it?

推荐答案

下班后,我找到了它.

body-parser不需要,因为其中包括新快递.

body-parser its not required because in new express is included.

我已经找到了如何获取表单数据,它需要multer(用于解析多部分/表单数据)中间件.我已经在 tutorialspoint.com 中找到了它.

i have found how to get form-data, it require multer(for parsing multipart/form data) middleware. i have found it in tutorialspoint.com.

首次安装multer

first install multer

npm install multer --save

在应用程序中导入multer.例如在我的代码中

import multer in your app. for example in my code

var express = require('express');
var app = express();
var multer = require('multer');
var upload = multer();

// for parsing application/json
app.use(express.json()); 

// for parsing application/x-www-form-urlencoded
app.use(express.urlencoded({ extended: true })); 

// for parsing multipart/form-data
app.use(upload.array()); 
app.use(express.static('public'));

app.post('/api/user', function (req, res) {
    console.log(req.body);
    console.log(req.body.username);
});

module.exports = app;

因此,它可以接收表单数据,原始数据或x-www-form-urlencoded.

so, it can receive form-data, raw, or x-www-form-urlencoded.

这篇关于node.js,表达,如何在请求后从主体表单数据中获取数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆