const exp = require('express'), app = exp() function utf8(req, res, next){ // res.set()设置响应头, // 还能够写成res.set({})批量设置响应头 // 在Content-Type响应头中设置编码能够解决乱码问题 res.set('Content-Type', 'text/html; charset=utf-8') console.log('设置字符编码') // 将请求交给下一个函数处理 next() } function first(req, res, next){ console.log('我是第一个处理请求的函数') next() } function second(req, res, next){ console.log('我是第2个处理请求的函数') next() } function third(req, res, next){ console.log('我是第3个处理请求的函数') next() } app.get('/', third, first, second, (req, res) => { res.end('我是最后一个处理请求函数') }) // 中间部分还能够写成数组 // app.get('/', [utf8, first, second, third], (req, res) => { // res.end('我是最后一个处理请求函数') // }) app.get('/hi/:age', utf8, first, second, third, (req, res) => { var name = req.query.name var age = req.params.age // 获取客户端数据: // 一、获取url中的querystring(?后面的name=value,经过GET方法发送) // req.query.name // 二、获取请求体中的数据(经过POST方法发送,有多种编码方式) // req.body.name // 若是是 urlencoded 编码须要使用 body-parser 模块 // 若是是 multipart/form-data 须要使用 multer 模块 // 三、获取cookie中的数据 // req.cookies.name // 须要使用 cookie-parser 模块 // 四、获取请求头中的数据 // req.get('name') // 五、获取url路径Path中的数据 // req.params.age // 须要设置请求地址模式 '/hi/:age' // 将参数放入Path相对于将参数放入QueryString // 更加容易被人和搜索引擎识别 // 所以被称为友好URL,friendly url res.end(`你好${name}, ${age},很高兴认识你`) }) app.listen(3000, () => console.log('正在运行...'))
Administrator@HJL MINGW64 ~/Desktop/Express请求处理管线和友好URL
$ node server
正在运行...
我是第3个处理请求的函数
我是第一个处理请求的函数
我是第2个处理请求的函数html