还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,echarts等技术开发,欢迎加底部微信(gis-dajianshi),一起交流。

No.内容链接1Openlayers 【入门教程】 - 【源代码+示例300+】 2Leaflet 【入门教程】 - 【源代码+图文示例 150+】 3Cesium 【入门教程】 - 【源代码+图文示例200+】 4MapboxGL【入门教程】 - 【源代码+图文示例150+】 5前端就业宝典 【面试题+详细答案 1000+】

文章目录

一、安装 body-parser二、基本使用示例1. 解析 application/x-www-form-urlencoded 数据2. 解析 application/json 数据3.解析文本数据 (text/plain)

三、注意事项

body-parser 是一个 Node.js 中间件,用于解析 HTTP 请求体(请求正文)。在 Express 应用中,它尤其有用,因为它可以帮助你处理 POST、PUT、DELETE 等请求中的 JSON、URL-encoded 数据或文本数据。默认情况下,Express 不会解析请求体,因此需要借助 body-parser 或类似的库。

一、安装 body-parser

首先,你需要通过 npm 安装 body-parser:

npm install body-parser

二、基本使用示例

下面是一些使用 body-parser 解析不同类型请求体的示例代码。

1. 解析 application/x-www-form-urlencoded 数据

这种格式的数据常用于 HTML 表单提交,默认的编码类型就是 application/x-www-form-urlencoded。

const express = require('express');

const bodyParser = require('body-parser');

const app = express();

// 使用 urlencoded 中间件

app.use(bodyParser.urlencoded({ extended: false }));

app.post('/login', (req, res) => {

const username = req.body.username;

const password = req.body.password;

// 处理登录逻辑...

res.send(`尝试以用户名: ${username}, 密码: ${password} 登录`);

});

app.listen(3000, () => {

console.log('服务器正在监听 3000 端口');

});

2. 解析 application/json 数据

对于发送 JSON 格式数据的请求,比如 AJAX 请求,可以使用 json 中间件。

const express = require('express');

const bodyParser = require('body-parser');

const app = express();

// 使用 json 中间件

app.use(bodyParser.json());

app.post('/api/data', (req, res) => {

const data = req.body;

console.log(data);

res.send('JSON 数据已接收');

});

app.listen(3000, () => {

console.log('服务器正在监听 3000 端口');

});

3.解析文本数据 (text/plain)

虽然不常见,但你也可以解析纯文本请求体。

const express = require('express');

const bodyParser = require('body-parser');

const textParser = bodyParser.text();

const app = express();

app.post('/text', textParser, (req, res) => {

const text = req.body;

console.log('接收到的文本:', text);

res.send('文本数据已接收');

});

app.listen(3000, () => {

console.log('服务器正在监听 3000 端口');

});

三、注意事项

自 Express 4.16.0 版本起,Express 增加了内置的 bodyParser 支持,可以直接使用 express.json() 和 express.urlencoded() 而不必单独安装 body-parser。例如:

const express = require('express');

const app = express();

// 相当于 body-parser 的 json 和 urlencoded

app.use(express.json());

app.use(express.urlencoded({ extended: false }));

// ...后续路由处理...

这些示例展示了如何使用 body-parser 来处理不同类型的请求体数据,使你可以方便地从请求中提取并操作这些数据。

参考文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: