zoukankan      html  css  js  c++  java
  • 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;
    });
    
  • 相关阅读:
    Linux 配置yum源(互联网)
    Linux SSH远程链接 短时间内断开
    loadrunner12安装教程
    Jmeter关联处理
    JMeter做http接口压力测试
    面试试题库
    Selenium基础之--01(将浏览器最大化,设置浏览器固定宽、高,操控浏览器前进、后退)
    索引(快速查询)
    视图是什么玩意
    mysql面试常见题目3
  • 原文地址:https://www.cnblogs.com/jiaoshou/p/13447617.html
Copyright © 2011-2022 走看看