主题
查询字符串与表单数据
在 Web 开发中,客户端经常通过查询字符串和表单提交数据。Express 提供简单方式来访问这些数据。
查询字符串参数
查询字符串位于 URL 问号 ?
后,多个参数用 &
分隔。通过 req.query
对象访问。
示例 URL:
text
/search?keyword=express\&page=2
示例代码:
js
app.get('/search', (req, res) => {
const { keyword, page } = req.query;
res.send(`关键词:${keyword},页码:${page}`);
});
处理表单数据
表单提交通常使用 application/x-www-form-urlencoded
或 application/json
格式。Express 4.16+ 内置了两个中间件用于解析请求体:
express.urlencoded()
解析 URL 编码的表单数据express.json()
解析 JSON 格式请求体
使用示例
js
const express = require('express');
const app = express();
// 解析表单数据(application/x-www-form-urlencoded)
app.use(express.urlencoded({ extended: true }));
// 解析 JSON 数据
app.use(express.json());
app.post('/submit', (req, res) => {
console.log(req.body); // 表单数据或 JSON 对象
res.send('数据已接收');
});
HTML 表单示例
html
<form action="/submit" method="POST">
<input type="text" name="username" />
<input type="password" name="password" />
<button type="submit">提交</button>
</form>
提交后,服务器端可以通过 req.body.username
和 req.body.password
获取对应数据。
总结
掌握查询字符串和表单数据的获取是 Express 接收客户端输入的基础,结合中间件解析请求体可以轻松处理各种请求数据。