我想知道是否可以通过PHP重定向将参数传递给ui-router?
例如,我有以下状态:
// Registration
.state('registration', {
url: '/registration/:valid',
templateUrl: '../partials/register/registration.php',
controller: 'RegistrationController',
controllerAs: 'Registration',
params: {
valid: null
},
authenticate: false,
data: {
authorizedRoles: [USER_ROLES.all]
}
})
我试图通过PHP重定向传递参数,如下所示:
// Return success
header( 'Location: http://<...>/registration?valid=true' ); /* Redirect browser */
但它似乎没有把它拿起来。我总是得到默认值valid
然后在我的控制器中:
var self = this;
self.valid = $state.params.valid;
但我总是得到'undefined'的值(默认值)。 这有可能吗?
答案 0 :(得分:0)
您有两种选择:
更改PHP
// Return success
header( 'Location: http://<...>/registration/true');
来自 的 Catch?参数
问候!let params = $location.search('valid');
if (params.valid) {
// do something
}
答案 1 :(得分:0)
如果您要在状态url
url: '/registration/:valid'
然后你不需要在查询字符串中指定它只是传递它的值。像这样:
header( 'Location: http://<...>/registration/true');
否则从url中删除参数,只需在params对象中定义它。
.state('registration', {
url: '/registration/',
templateUrl: '../partials/register/registration.php',
params: {
valid: null
},
并在php中使用原始语法
// Return success
header( 'Location: http://<...>/registration?valid=true' );