还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,echarts等技术开发,欢迎加底部微信(gis-dajianshi),一起交流。
No.内容链接1Openlayers 【入门教程】 - 【源代码+示例300+】 2Leaflet 【入门教程】 - 【源代码+图文示例 150+】 3Cesium 【入门教程】 - 【源代码+图文示例200+】 4MapboxGL【入门教程】 - 【源代码+图文示例150+】 5前端就业宝典 【面试题+详细答案 1000+】
文章目录
body-parser
是一个 Node.js 中间件,用于解析 HTTP 请求体(请求正文)。在 Express 应用中,它尤其有用,因为它可以帮助你处理 POST、PUT、DELETE 等请求中的 JSON、URL-encoded 数据或文本数据。默认情况下,Express 不会解析请求体,因此需要借助
body-parser
或类似的库。
一、安装 body-parser
首先,你需要通过 npm 安装
body-parser
:
npminstall 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
来处理不同类型的请求体数据,使你可以方便地从请求中提取并操作这些数据。
版权归原作者 还是大剑师兰特 所有, 如有侵权,请联系我们删除。