2013-12-09 4 views
2

Да, есть много вопросов по этой теме. Но я не мог решить проблему.чтение параметра из текущего url в AngularJS

Вот мой URL

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); 
}) 

я могу получить доступ пути от $ места, так что я могу разобрать для строки запроса. Но разве это единственный способ, который у меня есть?

Благодаря

ответ

0

Вы должны настроить свой маршрут так, чтобы иметь возможность использовать $routeParams:.

$routeProvider.when('/resetpassword.html/:resetcode', /**route**/); 

Тогда вы должны получить код возврата с помощью $routeParams.resetcode.

+0

У меня уже указанная конфигурация, но все еще не работает. – Naresh

+0

Вы пробовали его с несколькими браузерами? Он отлично работает для меня, но только если 'html5Mode' выключен. – Mouagip

Смежные вопросы