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