- Koa.js 教程
- Koa.js - 首页
- Koa.js - 概述
- Koa.js - 环境配置
- Koa.js - Hello World
- Koa.js - 生成器
- Koa.js - 路由
- Koa.js - URL构建
- Koa.js - HTTP方法
- Koa.js - 请求对象
- Koa.js - 响应对象
- Koa.js - 重定向
- Koa.js - 错误处理
- Koa.js - 级联
- Koa.js - 模板引擎
- Koa.js - 表单数据
- Koa.js - 文件上传
- Koa.js - 静态文件
- Koa.js - Cookie
- Koa.js - Session
- Koa.js - 身份验证
- Koa.js - 压缩
- Koa.js - 缓存
- Koa.js - 数据库
- Koa.js - RESTful APIs
- Koa.js - 日志记录
- Koa.js - 脚手架
- Koa.js - 资源
- Koa.js 有用资源
- Koa.js - 快速指南
- Koa.js - 有用资源
- Koa.js - 讨论
Koa.js - 表单数据
表单是网络不可或缺的一部分。我们访问的几乎每个网站都提供表单,用于提交或获取信息。要开始使用表单,我们首先需要安装 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);
这里新增的内容是导入 body 解析器和 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/,随意填写表单并提交。你将收到如下响应:
查看你的控制台,它将显示你的请求主体作为 JavaScript 对象。例如:
this.request.body 对象包含你解析后的请求主体。要使用该对象中的字段,只需像使用普通的 JS 对象一样使用即可。
这只是发送请求的一种方法。还有许多其他方法,但这里没有必要介绍,因为我们的 Koa 应用将以相同的方式处理所有这些请求。要了解更多关于不同请求方法的信息,请查看此页面。
广告