2017-08-25 10 views
0

私はnodejs & expressjsを使用してパスワードリセット機能に取り組んでいます。ユーザーは、リセットされたメールURLをクリックすると、暗号化されたデータでコントローラにリダイレクトします。このページでExpressjsでUrlパラメーターを取得する

router.get('/:encryptedData',controller.resetPassword); 

私はreq.params.encryptedDataにアクセスすることだと彼はリセットフォームを送信するとき、それは

localhost:3000/reset/0183d5992d2c79743d40ea2de6e60f8ffd4c8bb996f3d46971 

に投稿し、ポストルータがこの

のようなものです
router.post('/:encryptedData',controller.postreset); 

コントローラの中で私はreq.params.encryptedDataを使用して 'encryptedData'にアクセスしようとしましたが、console.Canの誰でもこの問題を解決するのに役立ちます。

ありがとうございました。

+0

:のように理想的には、コンフィギュレーションが見えるはずです

router.post('/reset/:encryptedData',controller.postreset);

正しい方法で設定されていれば、 'router.post( '/ reset /:encryptedData'、controller.postreset);' – codtex

答えて

0

あなたのルートがあり、以来: localhost:3000/reset/0183d5992d2c79743d40ea2de6e60f8ffd4c8bb996f3d46971

ポストルータは次のようになります。あなたのルーターがいるようだ

var app = express(); 

var router = express.Router(); 
var resetRouter = express.Router(); 

// you can nest routers by attaching them as middleware: 
router.use('/reset', resetRouter); 

app.use('/', router); 
+0

app.use( '/ reset'、require( './ resetpassword')); server.jsページに行が追加されました。したがって、URLに追加/リセットする必要はありません。 –

+0

'resetpassword.js'がルータインスタンスをエクスポートする場合、それは問題ありません。 –

+0

resetpasswordは、controller.js、index.js、password.htmlを含むフォルダの場所です。 –

関連する問題