我希望能够从我的URL获取一个实际上是URL的参数:
http://mywebsite.com/new/http://www.url.com
它适用于任何字符串,但当我将URL作为param(以http开头的字符串)传递时,我收到此错误:
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) {
res.end(req.url);
});
var port = process.env.PORT || 8080;
app.listen(port, function() {
console.log('Listening on port ' + port + '...');
});
非常感谢。
答案 0 :(得分:2)
ExpressJS会自动解析网址并将其划分为' /',您可以执行以下操作
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
});