📅  最后修改于: 2020-10-23 07:49:14             🧑  作者: Mango
表单是网络不可或缺的一部分。我们访问的几乎每个网站都向我们提供表单,这些表单可以为我们提交或获取一些信息。要开始使用表格,我们将首先安装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 Pug
var Pug = require('koa-pug');
var pug = new Pug({
viewPath: './views',
basedir: './views',
app: app //Equivalent to app.use(pug)
});
//Set up body parsing middleware
app.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。我们使用主体解析器来解析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 /并根据需要填写表格,然后提交。您会收到以下回复:
看一下您的控制台,它将以JavaScript对象的形式显示请求的主体。例如-
this.request.body对象包含您已解析的请求正文。要使用该对象中的字段,只需将它们用作普通的JS对象即可。
这只是发送请求的一种方式。还有很多其他方法,但是这里没有涉及这些方法,因为我们的Koa应用程序将以相同的方式处理所有这些请求。要了解有关发出请求的不同方式的更多信息,请查看此页面。