2016-04-29 2 views
2

Решение проблемы: 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); 
} 

Похоже, угловом не соответствует текущему URL с «/».

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

+0

ли он работает на веб-сервере? –

+0

@ GabrielCâmara В режиме отладки, локально, iis express –

ответ

0

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

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

2

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

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

2

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

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

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

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

+0

Если проблема была на стороне сервера, я не увижу запрос шаблона в инструментах разработчика браузера? –

+0

Не совсем, запрос на шаблон не будет, если нечего перехватывать запрос –

+0

@ GabrielCâmara Не могли бы вы объяснить, что вы подразумеваете под «ничего не перехватывать»? –

Смежные вопросы