1.app.js
// 引入模块
const Koa = require('koa');
const router = require('koa-router')(); /*引入是实例化路由 推荐*/
const views = require('koa-views');
const common = require('./module/common.js');
// 实例化
let app = new Koa();
// 应用ejs模板引擎
app.use(views('views', { map: { html: 'ejs' } }));
router.get('/', async (ctx) => {
await ctx.render('index');
})
// 接收post提交的数据
router.post('/doAdd', async (ctx) => {
// 原生node.js 在 koa 中获取表单提交的数据
let data = await common.getPostData(ctx);
console.log(data);
ctx.body = data;
})
app.use(router.routes());
app.use(router.allowedMethods());
app.listen(3000);
2.module/common.js
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);
}
})
}
3.index.html
Document用户名:
密码:
提交
4.目录
5.效果图