Angularjs UI路由器状态不为';当我';m从Adyen(支付系统)重定向到我的应用程序
我正在尝试让我的应用程序与Adyen支付系统一起工作。在某个时刻,我将用户重定向到Adyen进行支付。用户完成后,Adyen将重定向到提供的返回url。Adyen还向url添加了一些查询参数,这些参数对于在返回url页面上使用很有用 这是Adyen在付款后重定向到的url示例:Angularjs UI路由器状态不为';当我';m从Adyen(支付系统)重定向到我的应用程序,angularjs,angular-ui-router,angular-routing,adyen,Angularjs,Angular Ui Router,Angular Routing,Adyen,我正在尝试让我的应用程序与Adyen支付系统一起工作。在某个时刻,我将用户重定向到Adyen进行支付。用户完成后,Adyen将重定向到提供的返回url。Adyen还向url添加了一些查询参数,这些参数对于在返回url页面上使用很有用 这是Adyen在付款后重定向到的url示例: http://my.domain/#/payment/result?authResult=AUTHORISED&merchantReference=000220-16402-1459625180&merchantSig=
http://my.domain/#/payment/result?authResult=AUTHORISED&merchantReference=000220-16402-1459625180&merchantSig=BjeKwBOp70hcsNRD8GUat3fHn4qXxX4Bb2Nxg9RRa04%3D和付款方法=mc&pspReference=8614596253051402&shopperLocale=en_GB&skinCode=wMrD9Eei
现在,我想使用UI路由器让我进入正确的页面,并加载正确的控制器。根据查询参数authResult中的值,我希望转到不同的状态。我已为/payment/result?authResult创建状态:
$stateProvider.state('payment.result', {
url: '/payment/result?authResult',
templateUrl: IM_APP_DIR + '/views/payment.result.html',
controller: function($state, $stateParams) {
switch ($stateParams.authResult) {
case 'AUTHORISED':
$state.go('payment.authorised');
break;
case 'CANCELLED':
$state.go('payment.cancelled');
break;
etcetera...
}
}
});
授权国家的示例:
.state('payment.authorised', {
url: '/payment/authorised',
templateUrl: IM_APP_DIR + '/views/payment.authorised.html,
controller: 'PaymentCtrl'
})
现在,当我测试这个,Adyen测试环境将met重定向到上面提到的url时,/payment/result?authResult状态的控制器从未被输入。(我在定义开关的那一行放置了一个断点,但Chrome从未到达那里。)相反,我在控制台中从angular中得到了很多错误。他们主要说我进入了一个无限的摘要循环($rootScope/infdig?p0=10&p1=%5B%5D)。我想这与这个问题无关,因为Adyen重定向到返回url时也发生了这种情况,而我还没有为重定向路径定义任何状态
考虑到重定向url,你知道我定义的状态有什么问题吗
提前非常感谢您的帮助 好吧,我终于成功了。问题是我在路由配置中的parent>child设置完全错误。我还在父路由中省略了一个ui视图指令元素,子视图可以呈现给该元素