- Koa.js 教程
- Koa.js - 主页
- Koa.js - 概述
- Koa.js - 环境
- Koa.js - 你好世界
- 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 - 会话
- Koa.js - 身份验证
- Koa.js - 压缩
- Koa.js - 缓存
- Koa.js - 数据库
- Koa.js - RESTful API
- 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);
我们在这里做的新事情是导入主体解析器和 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 应用程序将以相同的方式处理所有这些请求。要了解有关提出请求的不同方式的更多信息,请查看此页面。