是的,有很多关于这个主题的问题。但我无法解决我的问题。
这是我的网址
http://localhost/resetpassword.html/7f18114f-1e1b-4c73-bf0f-f9e6f5bbb293
用户只需点击电子邮件提供的链接即可获得此屏幕。我尝试过使用$ routeParams,$ location.search()但找不到我的参数。
我使用nodejs作为我的网络服务器。从服务器端路由我添加了以下路由来处理请求。
app.get('/resetpassword.html/:resetcode', function (req, res) {
console.log("reset code: " + req.params.resetcode);
//res.render('resetpassword.html/' + req.params.resetcode);
res.render('resetpassword.html', { resetcode: req.params.resetcode });
});
我的角度配置如下
app.config(function ($routeProvider, $locationProvider) {
$routeProvider
.when('/', { templateUrl: 'home.html' })
.when('/resetpassword.html/:resetcode', { templateUrl: '/resetpassword.html', controller: 'ResetPasswordCtrl' })
.otherwise({ redirectTo: '/' })
;
$locationProvider.html5Mode(true);
})
我可以从$ location访问路径,因此我可以解析查询字符串。但这是我唯一的方式吗?
由于
答案 0 :(得分:0)
我相信你要找的是RouteParams
http://docs.angularjs.org/api/ngRoute。$ routeParams
答案 1 :(得分:0)
您必须像这样配置您的路线才能使用$routeParams
:
$routeProvider.when('/resetpassword.html/:resetcode', /**route**/);
然后您应该能够使用$routeParams.resetcode
获取重置代码。