0

Chromeでサイトを開くと、angularでこの問題が発生しました

_localhost/angular/_

URLがに変わります

_localhost/#_

ただし、Firefoxではすべてが期待どおりです

routeProvider が原因だと思います

var Angapp = angular.module('angApp', []).
config(['$routeProvider', function ($routeProvider) {
    $routeProvider.when('/', {
        templateUrl: 'partials/main.html',
        controller: mainCtrl
    })
        .when('/:catId', {
        templateUrl: 'partials/category.html',
        controller: categoryCtrl
    })
        .when('/detail/:detId', {
        templateUrl: 'partials/detail.html',
        controller: detailsCtrl
    })
        .otherwise({
        redirectTo: '/'
    });

}]);

誰かがこれで私を助けて、何が起こっているのかを説明してくれることを願っています。

前もって感謝します。

編集:

追加するとき

 .....
 config(['$routeProvider','$locationProvider', function($routeProvider. $locationProvider){
 .......
 $locationProvider.html5Mode(true);

Chrome と Firefox でルーティングが完全に壊れる

_localhost/angular/#%2Flink_

「#%2F」を削除してページをリロードすると、バックスペースを押すと 404 が返され、サイトが正しく読み込まれます。

4

1 に答える 1

0

お使いのブラウザが をサポートしていることを確認してくださいHTML5。HTML5 履歴 API をサポートしていないブラウザーの場合、AngularJS は自動的にhasbangURL にフォールバックするため"remove"hash(#).

于 2013-07-31T06:00:05.973 に答える