'/';字符未通过angular 2中的查询字符串
我正在处理Angular 2应用程序,因为我创建了一个路由,它通过查询字符串参数接受加密的电子邮件id。 例如,加密文本为NSDds3455rwlk/Dfd237hhSFSDFD= 然后,查询字符串只返回NSDds3455rwlk字符串,但我需要完全加密的字符串 应用程序组件中的路由配置'/';字符未通过angular 2中的查询字符串,angular,angular2-routing,Angular,Angular2 Routing,我正在处理Angular 2应用程序,因为我创建了一个路由,它通过查询字符串参数接受加密的电子邮件id。 例如,加密文本为NSDds3455rwlk/Dfd237hhSFSDFD= 然后,查询字符串只返回NSDds3455rwlk字符串,但我需要完全加密的字符串 应用程序组件中的路由配置 @RouteConfig([ {path: '/reset-password/:un', name: 'ResetPassword', component: ResetPasswordComponent} ]
@RouteConfig([
{path: '/reset-password/:un', name: 'ResetPassword', component: ResetPasswordComponent}
])
在下面代码的帮助下修改您的代码
/**
* @Route("/{reset-password}/:un", name="ResetPassword", requirements={"ResetPasswordComponent"=".+"})
*/
将参数附加到地址栏时,需要对其进行URL编码。否则,您可能会得到意想不到的结果。在您的情况下,文本中的斜杠被解释为路由的一部分 Javascript具有用于编码和解码您可以使用的URI组件的内置函数
encodeURIComponent(“NSDds3455rwlk/Dfd237hhSFSDFD=”)
将返回NSDds3455rwlk%2fdfdfdd237hhsfsdfd%3D
,该字符串可以安全地用作路由中的参数
另一方面,在ResetPasswordComponent
code中,应该使用
var un = decodeURIComponent(this.params.get('un'));
因此,您将使用原始字符串作为参数。您可以将路线代码粘贴到此处吗?您可以发布一些
ResetPasswordComponent
代码吗?如何从查询参数中获取数据?我通过以下代码从查询字符串中获取值:var un=this.params.get('un');params是RouteParams类型的变量,您是将加密文本粘贴到地址栏中,还是来自应用程序内部?这与Angular 2有何关系?此代码是否用于Angular 2?因为详细信息链接显示它用于Angular 1.x