2016-12-12 11 views
4
私はlocalhostの

角度urlは、不要な文字

に行くことによってローカルで作業するときにURLがうまく働いていたプロジェクトだった

追加された:9000/

URLはなるだろうが

Oなど

http://localhost:9000/#/

私はそれが今(感嘆符で)

http://localhost:9000/#!/に行く作ら何らかの変化

fはまた、他のURLは奇妙になります。たとえば、リンクをクリックしようとすると、ダッシュボードに移動します。それは私をそこに連れて行かない。代わりに、それは

/#!/#%2Fdashboard

のようなURLになりますし、何もその後起こりません。何が間違っていたのですが、どうすればこの問題を解決できますか?どこに間違ったのかわからないので、コードを表示することはできません。私は以下のチュートリアルに続き、その後、問題が発生しました。おそらく間違いはそこにありますか?

tutorial link

私はルートを設定私の.configを追加しました。

.config(function ($routeProvider, $httpProvider) { 
$routeProvider 
    .when('/', { 
    templateUrl: 'views/main.html', 
    controller: 'MainCtrl', 
    controllerAs: 'vm', 
    activetab: 'main' 
    }) 
    .when('/about', { 
    templateUrl: 'views/about.html', 
    controller: 'AboutCtrl', 
    controllerAs: 'vm', 
    activetab: 'about' 
    }) 
    .when('/faq', { 
    templateUrl: 'views/faq.html', 
    controller: 'FaqCtrl', 
    controllerAs: 'vm', 
    activetab: 'faq' 
    }) 
    .when('/dashboard', { 
    templateUrl: 'views/dashboard.html', 
    controller: 'DashboardCtrl', 
    controllerAs: 'vm', 
    activetab: 'dashboard' 
    }) 
    .when('/logout', { 
    templateUrl: 'views/main.html', 
    controller: 'LogoutCtrl', 
    controllerAs: 'vm' 
    }) 
    .otherwise({ 
    redirectTo: '/' 
    }); 
    $httpProvider.interceptors.push(['$q', '$window', '$localStorage', function($q, $window, $localStorage) { 
    return { 
     'request': function (config) { 
     config.headers = config.headers || {}; 
     if ($localStorage.globals) { 
      config.headers.access_token = $localStorage.globals.currentUser.token; 
     } 
     return config; 
     }, 
     'responseError': function(response) { 
     switch(response.status) { 
      case 403: 
      //$window.location = '/' 
      break; 
      case 404: 
      //$window.location = './404.html'; 
      break; 
      case 500: 
      $window.location = './500.html'; 
      break; 
     } 
     return $q.reject(response); 
     } 
    }; 
    }]); 
+0

コードあなたは、これに関連することを示すことができる取るものですあなたのルートと角度ルータの他の設定を設定する気になります。 – GillesC

+0

@GillesCいくつかのコードを追加しました。私はこれが助けてくれることを願っています – Reshad

+0

ng-hrefが台無しになることはありますか? – Reshad

答えて

0

のバグのようです

$locationProvider.hashPrefix(''); 

を使用することで、この問題を解決するために管理していることは、これは角度1.6.0のバグに確認することができます。 。 Angular 1.5.9に戻って自分の同じ問題を修正しました。

9

これは実際にはバグではありません。

commit-aa077e8

$場所ハッシュ強打のURLに使用されるデフォルトのハッシュプレフィックスが強打('!')に空の文字列('')から変更された参照してください。

あなたが実際にはハッシュ接頭辞を持たないようにしたい場合は、あなたのアプリケーションに構成ブロックを追加することにより、以前の動作を復元することができます。

appModule.config(['$locationProvider', function($locationProvider) { 
    $locationProvider.hashPrefix(''); 
}]); 
関連する問題