Angularjs StateProvider не работает с xampp. Работает только с nodejs - PullRequest
0 голосов
/ 26 апреля 2018

Я занимаюсь разработкой блога на angularjs и PHP. С помощью nodejs все работало отлично, я мог использовать «stateProvider» для маршрутизации приложения. Сейчас я использую xampp, но когда я вставляю в URL адрес типа «localhost / home / content», я получаю сообщение «объект не найден», как будто на самом деле собираюсь искать объект на сервере вместо использования функции маршрутизации. angularjs. Если вместо этого я вставлю «localhost / index_2.html», то он действительно покажет мне страницу правильно, и URL станет «localhost / home / content» (как я и ожидаю). Как я могу это исправить? Спасибо!

app.js

var importPath = "/partial/";
  var home = importPath+"home/";

  var homeContainer = home + 'homeContainer.html';
  var homeContent = home + 'homeContent.html';

  app.config(
    ["$stateProvider", "$urlRouterProvider", "$locationProvider",
      function($stateProvider, $urlRouterProvider, $locationProvider) {

      $stateProvider
        .state('home', {
          templateUrl: homeContainer,
        })
        .state('home.homeContent', {
          url: '/home/content',
          templateUrl: homeContent,
        });


       $urlRouterProvider.otherwise("/home/content");
       $locationProvider.html5Mode(true);


      }
    ]);

  app.run(['$rootScope', '$location',
      function ($rootScope, $location)
      {
        console.log("location ", $location.path());

      }
  ]);

index_2.html

......
<body>
...
<div ui-view></div>
...
</body>

1 Ответ

0 голосов
/ 26 апреля 2018

Основываясь на полученных комментариях, я смог решить, удалив режим html5 и тег <base href="/"> в файле index.html. Теперь базовый URL-адрес http: // localhost / #! / Home / content

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...