2017-03-12 15 views
3
におけるスラグ

としてURLを使用:私はExpressプロジェクトで、次のルートを持っているエクスプレス

router.get('/statusCode/:url', function(req, res){ 
    //finds the http status code of a webpage 
    try { 
     req.param.url = utils.formatUrl(req.param.url); 
    } catch (err) { 
     res.render('siteError', {error: "Invalid url"}); 
    } 
    utils.getStatusCode(req.params.url) 
    .then(function(statusCode){ 
     req.statusCode = statusCode; 
     renderPage(req, res); 
    }).catch(function(err){ 
     utils.errorHandler(err); 
    }); 
}); 

私はlocalhost:3000/statusCode/http://www.google.comを行うことができるようにしたいが、ルートは、サーバー上で呼び出されれることは決してありません。どのように私はこのルートに行くためにURLをマップすることができますか?

+0

'localhost:3000/statusCode/test'のようなより基本的なルートで動作しますか?ルートにURLを送信するという問題はありますか? –

+0

@MattFletcher、 '/ test'が動作します – db2791

答えて

2

渡すURI文字列をエンコードするには、encodeURI()を使用する必要があります。次に、サーバー側のdecodeURI()を使用して、ユーザーをそのサーバーにリダイレクトすることができます。

関連する問題