Ben Clarke
Ben Clarke

Reputation: 1061

# appearing in URL for UI.Router

I had an issue a few days ago where I would get a random # inside the URL like:

http://localhost:55462/#/forgotpassword

I asked a question about this and added this inside my app.config section:

$locationProvider.html5Mode({
    enabled: true,
    requireBase: false
});

Thiss did not remove the # sign but just move it and now the URL looks like this:

http://localhost:55462/#forgotpassword

My current routing looks like:

app.config(function ($stateProvider, $urlRouterProvider, $locationProvider) {
$stateProvider
    .state('login', {
        url: '/',
        templateUrl: 'partials/login.html',
        controller: 'loginController'
    })
    .state('forgotpassword', {
        url: '/forgotpassword',
        templateUrl: 'partials/forgotpassword.html',
        controller: 'forgotPasswordController'
    })
    .state('forgotpasswordcode', {
        url: '/forgotpasswordcode',
        templateUrl: 'partials/forgotpasswordcode.html',
        controller: 'forgotPasswordController'
    })
    .state('forgotpasswordnewpassword', {
        url: '/forgotpasswordnewpassword',
        templateUrl: 'partials/forgotpasswordnewpassword.html',
        controller: 'forgotPasswordController'
    })
    .state('dashboard', {
        url: '/dashboard',
        templateUrl: 'partials/dashboard.html',
        controller: 'calenderController'
    })
    .state('dashboard.calender', {
        url: '/calender',
        templateUrl: 'partials/dashboard.calender.html',
        controller: 'calenderController'
    })

$locationProvider.html5Mode({
    enabled: true,
    requireBase: false
});

//.otherwise({ redirectTo: '/login', controller: 'loginController' })

});

and when i am redirecting to another page i am using:

$location.path('/forgotpasswordcode');

Can anyone help me out with this issue?

Upvotes: 0

Views: 30

Answers (1)

charlietfl
charlietfl

Reputation: 171698

Use $state.go() instead of $location.path(). Make sure to inject $state wherever you want to use it also

$state.go(stateName[,params]) // example $state.go('dashboard.calender')

$state is a service provided by ui-router

Upvotes: 1

Related Questions