javascript - koa2无法解析前端上传的json数据
本文介绍了javascript - koa2无法解析前端上传的json数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
我使用postman测试api,后台是使用koa2。但是ctx.request.body无法获取数据
这次postman
这次后端逻辑:
exports.createAccount=async (ctx,next)=>{
console.log(ctx);
let info=ctx.request.body;
console.log(info);
try{
let result= await account.createAccount(info.email,info.tel,info.password);
console.log(result);
ctx.body={state:"1",account:result};
}catch(e){
//写入日志
ctx.body={state:"-1"}
}
}
这次app入口文件
const Koa=require('koa');
const app=new Koa();
const convert = require('koa-convert');
const json = require('koa-json');
const bodyparser = require('koa-bodyparser')();
const koabody = require('koa-body');
const Router=require('./router');
const socket=require('./middlewares/socket');
socket.init(app);//传入app实例
app.use(Router);
app.use(convert(bodyparser));
app.use(convert(json()));
app.use(convert(koabody({})));
app.listen(3000);
目前的问题:ctx.request.body无法获取 json数据
但是我使用ctx.req.on('data',data => console.log(data))能打印出上传来的数据。我认为是json数据解析出现问题,请问我应该怎么配置!
解决方案
找到答案了,这个坑!填了。是因为body解析在逻辑运行之后,导致没能正确解析。
app.use(Router);
app.use(convert(bodyparser));
改为
app.use(convert(bodyparser));
app.use(Router);
生命曾可贵,要理智的分析问题
这篇关于javascript - koa2无法解析前端上传的json数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文