Javascript 角度ui路由器将查询字符串放在哈希之前

Javascript 角度ui路由器将查询字符串放在哈希之前,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我有一个使用外部支付提供商购买信用卡的应用程序。成功购买后,支付提供商将重定向到http://any.url/?orderNr=xxxx&outcome=SUCCESS。这个url是一个AngularJS应用程序,它使用UI路由器。路由器的配置如下: $stateProvider .state('dashboard', { url: '/dashboard', templateUrl: 'views/dashboard.html', con

我有一个使用外部支付提供商购买信用卡的应用程序。成功购买后,支付提供商将重定向到
http://any.url/?orderNr=xxxx&outcome=SUCCESS
。这个url是一个AngularJS应用程序,它使用UI路由器。路由器的配置如下:

$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');

因此,当用户返回到
http://any.url
并已登录,它将重定向到仪表板。付款后会出现这种情况,因为您无法在未登录的情况下付款。问题是hashbang放在查询字符串之后,因此仪表板的url变为
http://any.url/?orderNr=xxxx&outcome=SUCCESS#/dashboard
。在
仪表板Ctrl
中,我无法使用
$location.search()
获取查询字符串。是否有任何方法可以通过“角度方式”获取查询字符串,而不是通过解析
location.href

如果您需要#/dashboard路由的查询字符串,您应该能够在url配置中指定参数

.state('dashboard', {
    url: '/dashboard?orderNr&outcome',

根据

您可以控制支付提供商重定向的位置吗?例如,告诉支付提供商重定向到
http://any.url/#dashbard?orderNr=xxxx&outcome=SUCCESS
@mmjmanders我们目前在使用spotify API重定向回angular frontend时遇到了这个问题,您是否有幸最终修复了它?