2016-03-30 10 views
0

私は実際に例えばURLである私のURLからのparamを取得できるようにしたい:ExpressJS

http://mywebsite.com/new/http://www.url.com 

それでうまく動作します任意の文字列ではなく、私はPARAM(httpで始まる文字列)としてURLを渡すとき、私はこのエラーを取得:ここ

Cannot GET /new/http://www.url.com 

は私のコードです:

app.param('url', function(req, res, next, url) { 

    if (isURL(url)) { 

     req.url = url; 

    } else { 

     res.end('Invalid URL'); 

    } 

    next(); 

}); 

app.get('/new/:url', function(req, res) { 

    var url = req.url; 

    res.end(url); 

}); 

var port = process.env.PORT || 8080; 

app.listen(port, function() { 

    console.log('Listening on port ' + port + '...'); 

}); 

どうもありがとう。

+1

あなたは、パラメータをコードするURLを試してみましたができますか?たとえば、http://mywebsite.com/new/http%3A%2F%2Fwww.url.com – binarymax

+0

私は今すぐ試してみました。ありがとうございます。今、私がする必要があるのは、作る方法を見つけ出すことですそれはエンコードされたURLを右にすることなく動作し、ユーザーフレンドリーではありません –

答えて

2

ExpressJS URLを自動的に解析し、「/」によってセグメントに分割し、次の

app.get('/new/:url*', function(req, res) { 

    var urlInTheParam = req.params['url'] + req.params[0]; 
    //Then you can do you things with the url in the params 

});