3
var express = require('express');

var app = express();
app.get('/files/:service/:op/:file', function(req, res){
  console.log(req.params.file)
})

app.listen(3000);

呼び出しhttp://localhost:3000/files/farm/get/chickenはログに記録されますchicken。呼び出しhttp://localhost:3000/files/farm/get/barn/yard/chickenはログに記録されますbarn

app.VERB(path, callback) pathExpressログを作成するにはどうすればよいbarn/yard/chickenですか?

4

2 に答える 2

5

ルートを次のように変更します。

app.get('/files/:service/:op/*', function(req, res){
  console.dir(req.params);
  console.log(req.params[0]); // this is what you want
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.end('OK');

});

最後のパラメーターが*に変更され、単一の値(鶏肉など)または複数の値(納屋/庭/鶏肉など)を受け取るようになっていることに注目してください。ここでの問題は、スラッシュ文字を使用してURLコンポーネントを分割しているが、値を分割したいが他の値は分割したくない場合があることです。*は、最後の値のセット(1つ以上)を1つの要素に自動的にまとめます。

http://expressjs.com/api.html#req.paramsを参照してください

于 2012-08-22T13:09:29.180 に答える
0

これを試して:

console.log(req.params.service + "/" + req.params.op + "/" + req.params.file);
于 2012-08-22T12:08:59.580 に答える