如何使用Angular.js在url中设置查询字符串?

时间:2016-03-23 05:44:32

标签: javascript angularjs angular-ui-router

我需要在URL中的查询字符串中传递一个id,并使用Angular.js设置路径。我在下面添加我的代码。

http://localhost/spesh/resetpass?id=2

对于上面的url,我需要在路由文件中设置路径,如下所示。

.state('/resetpass', { 
            url: '/resetpass',
            templateUrl: 'dashboardview/resetpass.html',
            controller: 'resetpassController'
})

我按照上面的说法不按要求工作。

3 个答案:

答案 0 :(得分:0)

这应该更好 -

.state('resetpass', {     
            url: '/resetpass/:id',
            templateUrl: 'dashboardview/resetpass.html',
            controller: 'resetpassController'
})

你可以这样使用它 -

$state.go('resetpass', {id: 1} );

<a ui-sref="resetpass({id:1})"></a>

您可以在$ stateParams服务中获取查询字符串,以便随意使用它。

答案 1 :(得分:0)

希望这会有所帮助..更改下面的代码

http://localhost/spesh/resetpass/2       /////CHANGE HERE


.state('/resetpass', { 
            url: '/resetpass/:id',      /////CHANGE HERE
            templateUrl: 'dashboardview/resetpass.html',
            controller: 'resetpassController'
})


///to access ID in controller 
var ID = $stateParams.id;

如果您想保留'?',请尝试此操作。下面的代码告诉angular,id是预期的。

url: "/resetpass?id",

答案 2 :(得分:0)

只需改变它:

.state('/resetpass', { 
            url: '/resetpass?id',
            templateUrl: 'dashboardview/resetpass.html',
            controller: 'resetpassController'
})