angularjs ui路由器控制器如何从java后端重定向读取参数?
路线定义如下:angularjs ui路由器控制器如何从java后端重定向读取参数?,java,angularjs,angular-ui-router,Java,Angularjs,Angular Ui Router,路线定义如下: .state('about', { url: '/about', controller: 'AboutCtrl', templateUrl: 'views/about/about.html' }) Java后端: servletResponse.setHeader("type", "something"); servletResponse.sendRedirect("http://xxxxx
.state('about', {
url: '/about',
controller: 'AboutCtrl',
templateUrl: 'views/about/about.html'
})
Java后端:
servletResponse.setHeader("type", "something");
servletResponse.sendRedirect("http://xxxxx/yyyy/#!/about");
那么如何在AboutCtrl中获取“type”参数呢?我不知道如何使用
servletResponse
,但是从setHeader
方法的名称来看,您试图设置的是头值,而不是参数值
使用ui-router
(我假设您使用的是ui-router
),有几种方法可以解析参数。您可以查看此项了解更多详细信息,但以下是一些方法:
如果您决定使用servletResponse.sendRedirect(“http://xxxxx/yyyy/#!/关于/某事)代码>,您可以执行以下操作:
.state('about', {
url: '/about/:type', //or even url: '/about/{type}'
controller: 'AboutCtrl',
templateUrl: 'views/about/about.html'
});
function AboutCtrl($stateParams){
console.log($stateParams.type); //something
}
.state('about', {
url: '/about/',
params: {
type: null
},
controller: 'AboutCtrl',
templateUrl: 'views/about/about.html'
});
function AboutCtrl($stateParams){
console.log($stateParams.type); //something
}
如果要使用查询参数servletResponse.sendRedirect(“http://xxxxx/yyyy/#!/about?type=something)代码>,您应该将您所在州的URL与URL:'/about?type'
匹配
如果要使用参数而不在州的url
中定义参数,可以执行以下操作:
.state('about', {
url: '/about/:type', //or even url: '/about/{type}'
controller: 'AboutCtrl',
templateUrl: 'views/about/about.html'
});
function AboutCtrl($stateParams){
console.log($stateParams.type); //something
}
.state('about', {
url: '/about/',
params: {
type: null
},
controller: 'AboutCtrl',
templateUrl: 'views/about/about.html'
});
function AboutCtrl($stateParams){
console.log($stateParams.type); //something
}
您可以在提供的链接中找到更多详细信息和变体。以下内容对我很有用:servletResponse.sendRedirect(“http://xxxxx/yyyy/#!/关于/某事)
和$stateProvider的相应代码,而servletResponse.sendRedirect(“http://xxxxx/yyyy/#!/about?type=something)
给了我type=null,并且没有设置传递的值。我的错误是,这个特定的大小写应该与url:'/about?type'
匹配。我会马上编辑这个。