mmj*_*ers 6 javascript angularjs angular-ui-router
我有一个使用外部支付提供商购买积分的应用程序.成功购买后,付款服务提供商会重定向到http://any.url/?orderNr=xxxx&outcome=SUCCESS.这个url是一个使用UI路由器的AngularJS应用程序.路由器的配置如下:
$stateProvider
.state('dashboard', {
url: '/dashboard',
templateUrl: 'views/dashboard.html',
controller: 'DashboardCtrl',
isAuthenticated: true
})
.state('login', {
url: '/login',
templateUrl: 'views/login.html',
controller: 'LoginCtrl',
isAuthenticated: false
});
$urlRouterProvider.otherwise('/login');
Run Code Online (Sandbox Code Playgroud)
因此,当用户返回到root用户http://any.url并且已经登录时,它会重定向到仪表板.付款后就是这种情况,因为您无法在不登录的情况下进行付款.问题是hashbang位于查询字符串之后,因此仪表板的url变为http://any.url/?orderNr=xxxx&outcome=SUCCESS#/dashboard.在DashboardCtrl我无法获取查询字符串使用$location.search().有没有办法让查询字符串成为'角度方式',所以不能通过解析location.href?
如果您需要 #/dashboard 路由的查询字符串,您应该能够在 url 配置中指定参数。
.state('dashboard', {
url: '/dashboard?orderNr&outcome',
Run Code Online (Sandbox Code Playgroud)
根据文档
| 归档时间: |
|
| 查看次数: |
933 次 |
| 最近记录: |