2017-10-18 4 views
-1

ウェブサイトに登録したい人に電子メールリンクを送信し、最後にGUIDを添付してその値を保存するプログラムを作成しました私のデータベースに。私は、リンクをクリックしてそのページにアクセスすると、プログラムがGUIDを最後に解析し、バックエンドに送信してデータベースにあることを確認し、登録ページを表示することができるようにしています。データベース内のアイテムに対してURLの特定の要素をチェックしてください

これは送ることができる例のURLリンクです:

http://localhost:3000/#/forgotPassword?gu=7d49695a-0f33-2270-4fb9-0cb4a8b2ba9a

私はちょうど「GU =」の後にある情報をつかむための良い方法を見つけるように見えることはできません。

+0

なぜ「#」がURLに含まれていますか?それはなぜそこにあるのですか? '#'の後のものはサーバに送られません。 [ハッシュパートがサーバー上にない理由](https://stackoverflow.com/questions/3664257/why-the-hash-part-of-the-url-is-not-in-the-server-side)を参照してください。詳細情報 – jfriend00

+0

'req.query.gu'を試してください –

+0

#コードを実行してlocalhostを使ってページにアクセスするとちょうど生成されます – ppolicherla91

答えて

0

最初の#の後のURLの部分は、このフラグメントを呼び出してサーバーに送信されません。これは、フラグメントがユーザーエージェントによって独自の目的のために保持され、サーバーに送信されないことを説明する仕様の一部です。

クエリ文字列をサーバーに送信する場合は、#を削除するか、クエリ文字列を#の前に置き、サーバー上のgu=xxxにアクセスする必要があります。サーバーフレームワークとしてExpressを使用している場合は、req.query.guにアクセスしてその値を取得できます。

フラグメントの詳細については、Why the hash part of the URL is not in the server side?を参照してください。

あなたのコメントから、URLに#(おそらくクライアント側のフレームワーク)を挿入しているフレームワークを使用しているようです。クエリパラメータが#の前か、または#がURLにまったく挿入されないように変更する必要があります。

+0

私は角度のフロントエンドでフラグメント文字列を解析し、expressとnodeを取得する変数に戻すことができますか? – ppolicherla91

+0

@ ppolicherla91 - はい、あなたは角度からそれをつかんで、それをあなたのサーバーに送信し、クライアント側のJavascriptが何かをする可能性のある応答を返すajax呼び出しに定期的なクエリパラメータとして入れることができます。 – jfriend00

+0

助けてくれてありがとう!それは正しい方向で私に指摘し、私は問題を解決することができました。 – ppolicherla91

関連する問題