📜  Express.js req.param()函数(1)

📅  最后修改于: 2023-12-03 15:00:40.496000             🧑  作者: Mango

Express.js req.param()函数

简介

req.param()函数用于获取请求中的参数,可以获取请求的路由参数、查询字符串参数和表单参数。

语法
req.param(name)

name 参数表示要获取的参数的名称。

示例
获取路由参数

路由参数是指定义路由时所定义的包含参数的部分,例如 /users/:id 中的 id

const express = require('express')
const app = express()

app.get('/users/:id', (req, res) => {
  const userID = req.param('id')
  res.send(`User ID: ${userID}`)
})

app.listen(3000)
获取查询字符串参数

查询字符串中的参数使用 GET 方法请求时会自动添加到请求中,使用 req.param() 可以获取这些参数。

app.get('/search', (req, res) => {
  const keyword = req.param('keyword')
  res.send(`Search keyword: ${keyword}`)
})

发送请求: GET /search?keyword=express 将返回 Search keyword: express

获取表单参数

使用表单提交请求时,表单参数会被包含在请求体中,使用 req.param() 可以获取这些参数。

app.post('/login', (req, res) => {
  const username = req.param('username')
  const password = req.param('password')
  // Login logic...
})
注意事项
  • 如果请求中包含同名的路由参数和查询字符串参数,那么 req.param() 只会返回路由参数。
  • 如果参数不存在,req.param() 将返回 undefined
  • Node.js 官方推荐使用 req.query 获取查询字符串参数,使用 req.body 获取表单参数。 req.param() 可以获取以上所有参数,但在某些情况下可能会出现问题。