Express 應(yīng)用使用回調(diào)函數(shù)的參數(shù): request 和 response 對象來處理請求和響應(yīng)的數(shù)據(jù)。
app.get('/', function (req, res) {
// --
})
equest 和 response 對象的具體介紹:
Request 對象 - request 對象表示 HTTP 請求滑绒,包含了請求查詢字符串文捶,參數(shù)岛心,內(nèi)容义屏,HTTP 頭部等屬性。常見屬性有:
req.app:當callback為外部文件時王暗,用req.app訪問express的實例
req.baseUrl:獲取路由當前安裝的URL路徑
req.body / req.cookies:獲得「請求主體」/ Cookies
req.fresh / req.stale:判斷請求是否還「新鮮」
req.hostname / req.ip:獲取主機名和IP地址
req.originalUrl:獲取原始請求URL
req.params:獲取路由的parameters
req.path:獲取請求路徑
req.protocol:獲取協(xié)議類型
req.query:獲取URL的查詢參數(shù)串
req.route:獲取當前匹配的路由
req.subdomains:獲取子域名
req.accepts():檢查可接受的請求的文檔類型
req.acceptsCharsets / req.acceptsEncodings / req.acceptsLanguages:返回指定字符集的第一個可接受字符編碼
req.get():獲取指定的HTTP請求頭
req.is():判斷請求頭Content-Type的MIME類型
Response 對象 - response 對象表示 HTTP 響應(yīng)则酝,即在接收到請求時向客戶端發(fā)送的 HTTP 響應(yīng)數(shù)據(jù)殉簸。常見屬性有:
res.app:同req.app一樣
res.append():追加指定HTTP頭
res.set()在res.append()后將重置之前設(shè)置的頭
res.cookie(name,value [沽讹,option]):設(shè)置Cookie
opition: domain / expires / httpOnly / maxAge / path / secure / signed
res.clearCookie():清除Cookie
res.download():傳送指定路徑的文件
res.get():返回指定的HTTP頭
res.json():傳送JSON響應(yīng)
res.jsonp():傳送JSONP響應(yīng)
res.location():只設(shè)置響應(yīng)的Location HTTP頭般卑,不設(shè)置狀態(tài)碼或者close response
res.redirect():設(shè)置響應(yīng)的Location HTTP頭,并且設(shè)置狀態(tài)碼302
res.render(view,[locals],callback):渲染一個view爽雄,同時向callback傳遞渲染后的字符串蝠检,如果在渲染過程中有錯誤發(fā)生next(err)將會被自動調(diào)用。callback將會被傳入一個可能發(fā)生的錯誤以及渲染后的頁面挚瘟,這樣就不會自動輸出了叹谁。
res.send():傳送HTTP響應(yīng)
res.sendFile(path [,options] [乘盖,fn]):傳送指定路徑的文件 -會自動根據(jù)文件extension設(shè)定Content-Type
res.set():設(shè)置HTTP頭焰檩,傳入object可以一次設(shè)置多個頭
res.status():設(shè)置HTTP狀態(tài)碼
res.type():設(shè)置Content-Type的MIME類型