Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何从一个复杂的url中提取路由参数,该url包含诸如';之类的符号''&';_Angularjs_Angular Ui Router - Fatal编程技术网

Angularjs 如何从一个复杂的url中提取路由参数,该url包含诸如';之类的符号''&';

Angularjs 如何从一个复杂的url中提取路由参数,该url包含诸如';之类的符号''&';,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我有一个像这样的URL url:'/reset/password?email=:userEmail&reset\u token=:passwordResetToken' 但是尝试使用$stateParams访问它。passwordResetToken返回未定义的请详细说明;在角冒号部分中不需要“=:” url:'/reset/password?email=userEmail&reset_token=passwordResetToken' 在controller中,您可以插入$state

我有一个像这样的URL

url:'/reset/password?email=:userEmail&reset\u token=:passwordResetToken'


但是尝试使用$stateParams访问它。passwordResetToken返回未定义的

请详细说明;在角冒号部分中不需要“=:”

url:'/reset/password?email=userEmail&reset_token=passwordResetToken'
在controller中,您可以插入$stateParams,然后您就不会得到未定义的您可以使用该服务,该服务是为解析AngularJS中的URL而创建的

这应该行得通

$location.search() // will return {email: 'userEmail', reset_token: 'passwordResetToken'}
你也可以使用

$location.search('userEmail')

通过查看您的URL,我认为您使用的路线如下:

.state('something.resetPassword', {
    url: "/reset/password",
    params: {
        email: null,
        reset_token: null 
    },
    templateUrl: 'your_template.html'
})
然后,您应该使用
$stateParams
访问参数,如下所示:

$stateParams.email        //gives email 
$stateParams.reset_token  //gives token

希望这对你有帮助

url:'/reset/password?:email&:reset\u token&:role'解决了我正在使用的问题

stateparms可以获取它。是,我已在控制器中注入$stateParams。$stateParams.reset_令牌的值为passwordResetToken。