Próbuję przekierować na inną trasę po wydarzeniu, ale pokazuje tylko zmianę URL (http: // LocalHost: 8000 / Login zmieniono na http: // LocalHost: 8000 / Login # / Home). Chcę go zmienić na http: // LocalHost: 8000 / Home #, ale nie mogę się dowiedzieć jak to zrobić. A moja droga do tego adresu URL nie działa.

app.js:

var app = angular.module('laravel', ['ngRoute'])
        .constant('API_URL', 'http://localhost:8000/')
        .config(function ($routeProvider, $locationProvider) {

            $routeProvider
            .when('/login', {

                controller: 'authController',
                templateUrl: 'resources/views/auth/login.blade.php',
            })
            .when('/home', {

                templateUrl : "resources/views/home.bade.php",
                controller : 'homeController'
            })
            .otherwise({
                redirectTo: '/',
            });
        });

auth.js, zawierający mój authController:

app.controller('authController', function ( $scope, $http, $location, API_URL){

    $scope.login = function(){

        var url = API_URL + "login";

        $http.post(url, $scope.file).success(function (response) {
        console.log("coming in homepage!!");
            // sessionStorage.setItem('user', $scope.user);
            $location.path('/home');
        });
    }
});

Powyższy kod po prostu konwertuje adres URL http: // LocalHost: 8000 / Login do http: // localhost: 8000 / Login # / Home.

0
Sanjay Samant 17 luty 2017, 13:44

2 odpowiedzi

Najlepsza odpowiedź

Mam to. Jeśli skonfigurujesz $ Lokalizacja, aby użyć HTML5Mode (History.Pushstate), musisz określić podstawowy adres URL aplikacji za pomocą znacznika lub skonfigurować $ LocationProvider, aby nie wymagać tagu bazowego, przekazując obiekt definicji z wymaganymbazą: false $ localprovider.html5mode ():

$locationProvider.html5Mode({ enabled: true,  requireBase: false});
//$locationProvider.html5Mode(true); //if we want to remove html5mode requirebase.
0
Sanjay Samant 20 luty 2017, 13:43

Myślę, że potrzebujesz czegoś takiego

$location.path('/home').replace();

Możesz sprawdzić API DOC za $ Lokalizacja.

0
Lotus91 17 luty 2017, 13:18