koa 获取不到前端参数的问题

2020-07-15  本文已影响0人  至远方

直接接收前端的参数,可以使用

<h4>
      query 返回的格式化好的参数对象

      queryString 返回的是请求的字符串
</h4>
当前端发送 Content-Type: application/json;charset=UTF-8 这样的请求时接收不到参数

image
    const koa = require('koa');
    // 路由:() 直接实例化 new router()
    // const router = require('koa-router')();
    const app = new koa();
    
    router.post('/user', async (ctx) => {
        console.log(ctx.request.body)
        console.log(decodeURI(ctx.querystring))
        console.log(decodeURI(ctx.request))
        
        app.use(router.routes());
        // 是打印不出参数的
        ctx.body = {
           data: {
                message: "200",
                data: {
                    name: '张三',
                    age: 18
                }
            },
        }
    });
    
    app.listen(9528, () => {
        console.log('启动成功')
    });

所以我们要引入中间件 koa-bodyparser, cnpm install koa-bodyparser --save,在app.js中引入

const bodyParser = require('koa-bodyparser');
app.use(bodyParser()); 

所以我们要引入中间件 koa-bodyparser, cnpm install koa-bodyparser --save,在app.js中引入,这里经常会有这样的错误,就是明明已经引入了,还不能打印信息,这里要注意*** 注意实例的位置,要放到 router 的上面

// 安装 引入配置中间件
app.use(bodyParser());
// 启动路由文件
app.use(router.routes());

直接贴图

image image

输入为undefined,顺序正确的时候:

image
image

此处是我划分的模块,可以按你们写的调试,上面就能正常接收值了

上一篇下一篇

猜你喜欢

热点阅读