Почему мой $routeProvider не работает?

У меня возникли проблемы с корректной работой моего $routeProvider.

У меня есть следующий код:

"use strict";

(function() {
    angular.module("websiteApp", ["ngRoute"])

        .config(["$routeProvider", function($routeProvider){
            $routeProvider
                .when("/example", {
                    templateUrl: "partials/example.html",
                    controller: "ExampleController"
                })
                .otherwise({
                    redirectTo: "/"
                });
        }]);
})();

но когда я перехожу к localhost/example, я получаю 404 Not Found. Где я ошибаюсь?


person rj93    schedule 24.10.2015    source источник
comment
У вас есть настоящий ExampleController, принадлежащий приложению, или это просто фиктивное значение?   -  person moztemur    schedule 24.10.2015
comment
Также ознакомьтесь с этой статьей, возможно, у вас возникнут похожие проблемы stackoverflow.com/questions/20307655/   -  person Lisa Gagarina    schedule 24.10.2015
comment
@mhmtztmr У меня настоящий ExampleController   -  person rj93    schedule 25.10.2015


Ответы (1)


Проще говоря, вы используете неправильный URL. Если вы не установите $locationProvider.html5Mode(true);, все угловые пути будут основаны на хеше и будут включать в себя #.

Пытаться

http://localhost#/example

Таким образом, вам также необходимо включить хэш в любой href, который вы также используете.

<a href="#/example">

Обратите внимание, что html5Mode также требует настройки сервера, если вы решите его реализовать.

person charlietfl    schedule 24.10.2015
comment
Где я это заявляю? В конфиге? - person rj93; 25.10.2015
comment
да, но только если вы готовы также настроить сервер - person charlietfl; 25.10.2015