$routeProvider.when('/', ...) не действует, когда включен режим html5

Решение проблемы: URL, который вы пишете в базовом теге, должен иметь косую черту.

У меня есть следующая конфигурация маршрутов, но шаблон не запрашивается, если включен режим html5. Нет ошибок, нет попыток получить ресурс с сервера. Ни изменение базового URL, ни установка префикса с помощью hasPrefix('!') не влияет на это поведение

   angular
        .module('beneficiaryBanks')
        .config(configRoutes);

configRoutes.$inject = ['$routeProvider','$locationProvider'];
function configRoutes($routeProvider, $locationProvider) {
    $routeProvider
        .when('/',
        {
            controller: 'beneficiaryBanksListController',
            controllerAs: 'listVM',
            templateUrl: 'BeneficiaryBanksList.cshtml'
        });
    $locationProvider.html5Mode(true);
}

Похоже, что angular не соответствует текущей ссылке с '/'.

обновление 1
Отладка показывает, что для URL http://localhost:8080/APS/Home/BeneficiaryBanksModule и базовый адрес APS/Home/BeneficiaryBanksModule угловой видит маршрут как /BeneficiaryBanksModule который не совпадает с /тогда как маршрут становится просто / когда режим html5 отключен.

3 ответа

Решение

Проблема была в базовом теге. Если это не заканчивается косой чертой / angular обрабатывает последнюю часть как имя файла и удаляет его.

Вот почему я видел /BeneficiaryBanksModule вместо /

Как я мог видеть здесь, есть некоторые конфигурации, которые вам, возможно, придется сделать для достижения этой комбинации AngularJS и IIS Express с активированным режимом html5.

Я не знаю, читали ли вы эту статью, но есть несколько советов, как заставить ее работать.

Это потому, что ваш запрос обрабатывается самим сервером, а не вашим угловым приложением.

Попробуйте прочитать несколько статей о том, как настроить сервер для работы в режиме html5:

https://dzone.com/articles/fixing-html5mode-and-angular http://www.thinkovator.com/blog/post/angularjs-html5-mode-and-iis-rewrite/

Надеюсь, это поможет.

Другие вопросы по тегам