当前位置: 首页 > article >正文

expressjs的 post 请求方法,从 body 中取参数

在 Express.js 中,GET 请求通常不会从请求体(body)中获取参数,因为 GET 请求的参数通常是通过 URL 查询字符串传递的。查询字符串是附加在 URL 后面的键值对,通过 ? 开始,并且参数之间用 & 分隔。

然而,如果你想在 Express.js 中处理 GET 请求并从查询字符串中获取参数,你可以使用 req.query 对象。下面是一个简单的示例:

const express = require('express');
const app = express();
const port = 3000;

app.get('/example', (req, res) => {
  // 从查询字符串中获取参数
  const param1 = req.query.param1;
  const param2 = req.query.param2;

  res.send(`Param1: ${param1}, Param2: ${param2}`);
});

app.listen(port, () => {
  console.log(`Server is running at http://localhost:${port}`);
});

在这个示例中,假设你访问 URL http://localhost:3000/example?param1=value1&param2=value2,服务器将响应 Param1: value1, Param2: value2

处理 POST 请求并从 body 中获取参数

如果你确实需要从请求体中获取参数,这通常是通过 POST 请求来完成的。在这种情况下,你需要一个中间件来解析请求体,例如 express.json()(用于 JSON 格式的请求体)或 express.urlencoded({ extended: true })(用于 URL 编码格式的请求体)。

下面是一个处理 POST 请求并从请求体中获取参数的示例:

const express = require('express');
const app = express();
const port = 3000;

// 用于解析 JSON 格式的请求体
app.use(express.json());

// 用于解析 URL 编码格式的请求体
app.use(express.urlencoded({ extended: true }));

app.post('/example', (req, res) => {
  // 从请求体中获取参数
  const param1 = req.body.param1;
  const param2 = req.body.param2;

  res.send(`Param1: ${param1}, Param2: ${param2}`);
});

app.listen(port, () => {
  console.log(`Server is running at http://localhost:${port}`);
});

在这个示例中,如果你发送一个 POST 请求到 http://localhost:3000/example,并且请求体是 {"param1": "value1", "param2": "value2"},服务器将响应 Param1: value1, Param2: value2

总结

  • GET 请求的参数通常通过 URL 查询字符串传递,可以使用 req.query 来获取。
  • POST 请求的参数通常通过请求体传递,需要使用相应的中间件(如 express.json()express.urlencoded({ extended: true }))来解析 req.body

http://www.kler.cn/news/340325.html

相关文章:

  • quic-go实现屏幕广播程序
  • JVM(学习预热 - 走进Java)(持续更新迭代)
  • 【OpenGauss源码学习 —— (VecAgg)】
  • 昇思学习打卡营学习记录:ResNet50中药炮制饮片质量判断
  • CTFshow 命令执行 web37-web40
  • 深度融合 AR 与 AI 、从 Web2 到 Web3,V3X 定义下一代智能眼镜
  • Java | Leetcode Java题解之第456题132模式
  • 程序bug修复的艺术与科学
  • 【开源项目推荐】开源ERP系统:探索企业管理的无限可能
  • C++语言学习(1): std::endl 在做什么?
  • [论文阅读] DVQA: Understanding Data Visualizations via Question Answering
  • Java数据类型常量
  • 【光追模组】雷神之锤4光追mod,调色并修改光影,并且支持光追效果,游戏画质大提升
  • nginx从入门到精通
  • 系统架构师备考记忆不太清楚的点-信息系统-需求分析
  • C++学习笔记(51)
  • 【算法】- 查询 -平衡二叉树
  • microsoft edge浏览器卡死问题
  • python基础语法全解(两万字讲解,建议收藏)
  • cudnn8编译caffe过程(保姆级图文全过程,涵盖各种报错及解决办法)