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

Javascript 如何使用Angular.js在url中设置查询字符串?,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我需要在URL的查询字符串中传递一个id,并使用Angular.js设置路径。我正在下面添加我的代码 http://localhost/spesh/resetpass?id=2 对于上面的url,我需要在下面给出的路由文件中设置路径 .state('/resetpass', { url: '/resetpass', templateUrl: 'dashboardview/resetpass.html', controll

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

http://localhost/spesh/resetpass?id=2
对于上面的url,我需要在下面给出的路由文件中设置路径

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

我是按照上面的要求做的,它没有按照要求工作。

这应该更好-

.state('resetpass', {     
            url: '/resetpass/:id',
            templateUrl: 'dashboardview/resetpass.html',
            controller: 'resetpassController'
})
你可以这样使用它-

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



您可以在$stateParams服务中获取查询字符串,以便对其执行任何操作。

希望这对您有所帮助。。更改代码如下

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",
只要改变它:

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

我认为你的问题应该更具体一些。你到底在努力实现什么,到目前为止你已经尝试了什么。您提供的代码类似于路由设置。您知道查询字符串独立于路由吗?我需要在url中保留
。有解决方案吗?
.state('/resetpass', { 
            url: '/resetpass?id',
            templateUrl: 'dashboardview/resetpass.html',
            controller: 'resetpassController'
})