這是在講關於一名叫 Koa 的全端勇士傳說-koa-bodyparser

前言

接下來就是針對表單解析的部分,這邊會透過一個套件來做表單解析,也就是 koa-bodyparser

起手式

一樣也是先安裝套件

1
npm install --save koa-bodyparser

使用方式如下

1
2
const bodyParser = require('koa-bodyparser');
app.use(bodyParser());

與 Express 那邊稍微有點不太一樣,EJS 表單頁面如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<h1>Hello <%- title %></h1>
<form action="/post" method="post">
<input type="email" name="email" id="email">
<input type="text" name="name" id="name">
<input type="submit" value="送出">
</form>
</body>
</html>

bodyParser

接下來必須新增一個 POST router 來接收表單資料,那寫法如下

1
2
3
4
5
router.post('/post', async (ctx, next) => {
const email = ctx.request.body.email;
const name = ctx.request.body.name;
console.log(email, name);
})

這邊取得表單資料的方式是使用 ctx.request.body 的方式,所以若成功之後就會在 console.log() 上出來

ctx.request

如果 POST 成功後就轉址,轉址的方式是 ctx.redirect('/'); 即可(跳轉太快就不附上圖片哩)

Liker 讚賞 (拍手)

如果這一篇筆記文章對你有幫助,希望可以求點支持或 牡蠣 鼓勵 (ノД`)・゜・。

Liker 是一個按讚(拍手)的讚賞機制,每一篇文章最多可以按五下(拍手),按讚過程你是完全不用付費的(除非你想要每個月贊助我 :D),你只需要登入帳號就可以開始按讚。
而 Liker 會依據按讚數量分配獎金給創作者,所以如果你願意按個讚我會非常感謝你唷。

Google AD

撰寫一篇文章其實真的很花時間,如果你願意「關閉 Adblock (廣告阻擋器)」來支持我的話,我會非常感謝你 ヽ(・∀・)ノ