Node-http(二)

一、express框架提供三种方法来实现获取请求中的参数:

req.query 获取到客户端提交到服务器的 查询参数
req.params 获取到客户端提交到服务器的 查询参数
req.query、req.params 获取的是地址中的参数,而不是get或post请求参数

req.body

1.1、获取参数一
url格式: http://127.0.0.1:3001/user?id=10&name=zs

// 请求url:
const express = require('express')
const app = express()

// 监听客户端的 get 请求
app.get('/user', (req, res) => {
    // 服务器,可以直接通过 req.query 属性,获取到客户端提交到服务器的 查询参数
    console.log(req.query)  // 参数组成的对象 { id: "10" , name: "zs"}
    res.send('ok')
})

app.listen(3001, () => {
    console.log('server running at http://127.0.0.1:3001')
})

1.2、获取参数二
Restful格式: http://127.0.0.1:3001/user/11/ls

// URL 规则中的 : 表示参数项;
app.get('/user/:id/:name', (req, res) => {
  console.log(req.params)  // 参数组成的对象 { id: "11" , name: "ls"}
  res.send('ok')
})

二、获取post表单提交的参数

  • 借助于body-parser来解析表单数据
  • 根目录安装: npm i body-parser -S
  • 导入:const bodyParser = require('body-parser')
  • 注册中间件:app.use(bodyParser.urlencoded({ extended: false }))
  • 使用解析的数据: req.body 来访问解析出来的数据
请求格式
const express = require('express')
const bodyParser = require('body-parser')
const app = express()

// 注册 body-parser 中间件,来解析Post提交过来的表单数据
app.use(bodyParser.urlencoded({ extended: false }))

// 监听客户端 post 请求
app.post('/user', (req, res) => {
    // 注意:如果在项目中,想要通过 req.body 获取客户端提交的表单数据,
    // 必须 先注册 body-parser 中间件才可以!
    console.log(req.body) // { name: 'zs', age: '18' }
    res.send('ok')
})

app.listen(3001, () => {
    console.log('server running at http://127.0.0.1:3001')
})

你可能感兴趣的:(Node-http(二))