2016-07-12 13 views
0

私はクエリ文字列パラメータを使って暗号化された電子メールIDを受け取るルートを作成したという点でAngular 2アプリケーションで作業しています。例: 暗号化されたテキストはNSDds3455rwlk/Dfd237hhSFSDFD = です。その後、NSDds3455rwlk文字列だけがクエリ文字列によって返されますが、完全な暗号化文字列が必要です。アプリのコンポーネントで'/'文字が角度2のクエリ文字列を通って来ていない

ルート設定

@RouteConfig([ 
{path: '/reset-password/:un', name: 'ResetPassword', component: ResetPasswordComponent} 
]) 
+0

ここにルートコードを貼り付けることはできますか? –

+0

あなたは 'ResetPasswordComponent'コードのいくつかを投稿できますか?どのようにクエリのパラメータからデータを取得しますか? – yarons

+0

このコードでクエリ文字列から値を取得します var un = this.params.get( 'un'); paramsはRouteParamsタイプの変数です – amol

答えて

-2

あなたのアドレスバーにパラメータを添付すると、彼らはURLである必要があり、コード

/** 
* @Route("/{reset-password}/:un", name="ResetPassword", requirements={"ResetPasswordComponent"=".+"}) 
*/ 

More details here

+0

これは角度2とどのように関連していますか? – rinukkusu

+1

このコードはAngular 2?のコードですか?詳細のリンクはAngular 1.xのためです。 – amol

+0

@amolこれは間違いなく動作しません。 – rinukkusu

0

下記の助けを借りて、あなたのコードを変更コード化される。そうしないと予期しない結果が生じる可能性がありますあなたの場合、テキストのスラッシュはルートの一部として解釈されます。

Javascriptには、使用できるURIコンポーネントをエンコードおよびデコードするための組み込み関数が組み込まれています。 encodeURIComponent("NSDds3455rwlk/Dfd237hhSFSDFD=")NSDds3455rwlk%2FDfd237hhSFSDFD%3Dを返します。これはあなたのルートのパラメータとして安全に使用できる文字列です。あなたは、パラメータとして元の文字列を持っていますので、物事の反対側で

は、あなたのResetPasswordComponentコードでは、あなたは

var un = decodeURIComponent(this.params.get('un')); 

を使用してパラメータ値を取得する必要があります。

関連する問題