使用Koa2后台接收不到前端发送的表单数据问题

接收不到数据可能是下面这些错误导致:
const koaBody  = require('koa-body')({multipart: true});
app.use(router.routes())
app.use(koaBody);

因为Node的执行顺序是按照书写代码的顺序的,所以需要将中间件的引用写在routes的前面才可以,正确写法

const koaBody  = require('koa-body')({multipart: true});
app.use(koaBody);
app.use(router.routes())

2.使用的是 koa-bodyparser解析,但是事实上,可能发送的表单数据的Content-Type是 mutilpart/form-data 但是koa-bodyparser是不支持这类数据的转化的

使用Koa2后台接收不到前端发送的表单数据问题_第1张图片
koa-bodyparserNotice中声明了.png

使用Koa2后台接收不到前端发送的表单数据问题_第2张图片
上传数据的Content-Type.png

解决方法:

使用koa-body中间件

const koaBody  = require('koa-body')({multipart: true});
app.use(koaBody);

启用enctype设置:

require('koa-body')({multipart: true});

就可以正常接收到数据了
我是在CNode.js找到的答案

你可能感兴趣的:(使用Koa2后台接收不到前端发送的表单数据问题)