4

コンテンツの種類を確認しようとしていますが、機能していないようです。シェルの出力は次のとおりです。

$ 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);

Accept ヘッダーが関数text/htmlをトリガーするか、 Accept ヘッダーでさえ をトリガーすることを期待しますが、ステートメントは実際に実行されます。Express 3.0.0 rc1 と Node 0.8.1 を使用しています。req.is('html')application/xhtml+xmlreq.is('xml')else

4

1 に答える 1

6

.accepts()の代わりにを使用する必要があることが判明しました.is()

于 2012-07-30T19:04:32.770 に答える