Angular UI路由器将查询字符串放在哈希之前
angular ui router places query string before hash
我有一个使用外部支付提供商购买积分的应用程序。购买成功后,支付提供者将重定向到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');
因此,当用户返回到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',
Per the docs
相关文章:
- AngularJS:获取链接中没有哈希的查询字符串值
- 如何在JavaScript/Node中计算SHA256哈希和Base64字符串编码
- Javascript将对象打包为哈希字符串
- Node.js字符串中的10位哈希代码
- 如何计算字符串集合(0.5000个元素)的哈希代码
- URL 哈希参数的 JavaScript 字符串压缩
- javascript:使用哈希字符拆分HREF字符串
- 删除 URL 哈希字符串中的前几个字符
- coffeescript/backline.js:编写一个对字符串进行操作的哈希函数
- 有没有一种漂亮的方法可以将列表/哈希数组转换为可用的字符串
- 如何使用加密检查字符串是否已在 Node.js 中进行哈希处理
- 将查询字符串放在 angularjs 应用程序中的哈希之后
- 检查多个哈希子字符串
- 基于哈希或查询字符串加载动态内容
- 将错误的哈希字符串发送到文本区域中的 sha256 所有行
- 字符串哈希函数,它将在JavaScript和PHP中产生相同的结果
- 用于URL的JavaScript中的双向哈希JSON字符串
- 从html输入文本类型的文本框中获取字符串形式的值,并将其传递给aspx中正在使用的C#哈希表
- 如何将字符串解析为哈希表
- 正则表达式匹配哈希URL字符串