2017-02-17 14 views
0

イベント後に別のルートにリダイレクトしようとしていますが、URLの変更のみが表示されます(http://localhost:8000/loginhttp://localhost:8000/login#/homeに変更)。私はhttp://localhost:8000/home#に変更したいですが、私はそれを行う方法を理解することはできません。そして、このURLのための私のルートは動作しません。AngularJsが正しく動作しないルートにリダイレクトする

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、私の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'); 
     }); 
    } 
}); 

上記のコードはちょうどhttp://localhost:8000/login#/homeにURL http://localhost:8000/loginに変換します。

答えて

0

私はそれを得ました。 $ locationにhtml5Mode(history.pushState)を使用するように設定した場合、タグ付きアプリケーションのベースURLを指定するか、requireBase:falseを指定して定義オブジェクトを渡してベースタグを必要としないように$ locationProviderを構成する必要があります。 $ locationProvider.html5Mode():

$locationProvider.html5Mode({ enabled: true, requireBase: false}); 
//$locationProvider.html5Mode(true); //if we want to remove html5mode requirebase. 
0

あなたは私はあなたが$の場所をAPI docを確認することができます

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

を推測し、このようなものが必要。

+0

返信いただきありがとうございますが、私はすでに試してみたところ、結果は同じでした。 –

関連する問題