Fork me on GitHub

koa post提交数据

koa中可以使用原生node方式获取post数据,也可以使用koa-bodyparser中间件获取post数据。下面就来看看怎么使用。

第一种使用原生node获取post数据

在koa 使用原生node环境中获取post数据

需要封装一个promise对象

exports.getPostData = function(ctx){
  // 获取数据  异步

  return new Promise(function(resolve,reject){
    try{
      let str = '';
      ctx.req.on('data',function (chunk) {
        str += chunk;
      })
      ctx.req.on('end',function (chunk) {
        resolve(str);
      })
    }catch(err){
      reject(err);
    }
  });
}

模板样式

  <form action="/doAdd" method="post">
    用户名: <input type="text" name="username" />
    密码: <input type="password" name="password" />
    <button type="submit">提交</button>
  </form>

在koa中获取post表单提交的路由,调用上面封装的那个函数

router.post('/doAdd',async (ctx)=>{
  // 获取表单提交的数据
  let data = await common.getPostData(ctx);
  ctx.body = data;
});

第二种使用koa-bodypaser中间件获取post数据

安装

npm install --save koa-bodyparser

引入中间件

const bodyParser = require('koa-bodyparser');

配置中间件

app.use(bodyParser());

获取数据

ctx.request.body就可以获取到post来的数据,json格式的

router.post('/doAdd',async (ctx)=>{
  // 获取表单提交的数据
  ctx.body = ctx.request.body;
});
posted @   较瘦  阅读(484)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
知识点文章整理
点击右上角即可分享
微信分享提示