表格是网络不可或缺的一部分.我们访问的几乎每个网站都为我们提供了提交或获取一些信息的表格.要开始使用表单,我们将首先安装koa-body.要安装它,请转到您的终端并使用 :
$ npm install --save koa-body
用以下代码替换你的app.js文件内容.
var koa = require('koa');var router = require('koa-router');var bodyParser = require('koa-body');var app = koa();//Set up Pugvar Pug = require('koa-pug');var pug = new Pug({ viewPath: './views', basedir: './views', app: app //Equivalent to app.use(pug)});//Set up body parsing middlewareapp.use(bodyParser({ formidable:{uploadDir: './uploads'}, multipart: true, urlencoded: true}));_.get('/', renderForm);_.post('/', handleForm);function * renderForm(){ this.render('form');}function *handleForm(){ console.log(this.request.body); console.log(this.req.body); this.body = this.request.body; //This is where the parsed request is stored}app.use(_.routes()); app.listen(3000);
我们在这里做的新事物是导入身体解析器和multer.我们使用body解析器来解析json和x-www-form-urlencoded头部请求,而我们使用multer来解析multipart/form-data.
让我们创建一个html表单到测试一下!使用以下代码创建一个名为form.pug的新视图.
html head title Form Tester body form(action = "/", method = "POST") div label(for = "say") Say: input(name = "say" value = "Hi") br div label(for = "to") To: input(name = "to" value = "Koa form") br button(type = "submit") Send my greetings
使用 : 运行服务器;
nodemon index.js
现在转到localhost:3000/并填写表单,并提交.您将收到 : 的回复;
Take看看你的控制台,它会向你显示你的请求正文作为JavaScript对象.例如 :
这个. request.body 对象包含您已解析的请求正文.要使用该对象中的字段,只需将它们用作普通的JS对象.