4
我試圖檢查內容的類型是什麼,但似乎沒有工作。這裏是外殼上的輸出:使用.is()檢查請求類型的Express.js不起作用
$ node app.js
# Request http://localhost:3000 via browser
CLIENT DOES NOT WANT XML, JSON, OR HTML
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
這裏是app.js腳本的內容:
var express = require('express');
var app = express.createServer();
app.get('/', function(req, res) {
if (req.is('xml')) {
console.log("CLIENT WANTS XML");
} else if (req.is('json') || req.is('html')) {
console.log("CLIENT WANTS JSON OR HTML");
} else {
console.log("CLIENT DOES NOT WANT XML, JSON, OR HTML");
console.log(req.header('Accept'));
}
});
app.listen(3000);
我期望text/html
接受頭觸發req.is('html')
功能甚至application/xhtml+xml
接受標題觸發req.is('xml')
,但else
聲明實際上運行。我正在使用Express 3.0.0 rc1和Node 0.8.1。