教程 express tutorial

查询字符串与表单数据

在 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 接收客户端输入的基础,结合中间件解析请求体可以轻松处理各种请求数据。