Я пробовал все в других сообщениях относительно удаления идентификатора фрагмента (#). Все работает так, как должно, с идентификатором #, но это было бы хорошим улучшением для моего проекта.Angularjs - Как удалить # из url - Ошибка: не удалось выполнить 'pushState' в 'History':
- я настроил $ locationProvider и установить html5Mode истинного
- Установите
<base href="app" />
в моем index.html судимого также<base href="/" />
. Я использовал<base href="/" />
- Без установки базы
requireBase: false
. - Обертывание
$locationProvider.html5Mode(true)
вif(window.history && window.history.pushState)
проверить поддержку браузера для истории html5 API, как кто-то предложил - я написал правила в web.config, как кто-то предложил.
- Я пробовал все, что мог найти после того, как я нашел его в Google.
Я получаю эту ошибку:
angular.js: 13708 Ошибка: Не удалось выполнить «PushState» на «История»: История состояния объекта с URL «http://sales/?_ijt=d1r1ladp5ro1tvflefsdpnfvd4» не может быть создан в документе с origin 'http://localhost:52471' и URL 'http://localhost:52471/BeerbayCRM/BeerbayCRM/app/index.html?_ijt=d1r1ladp5ro1tvflefsdpnfvd4'.
См. Список доступных переменных окружения Ваша помощь будет очень признательна! Спасибо.
Вот мой код:
app.config(['$routeProvider', '$locationProvider', '$httpProvider',
function($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
templateUrl: "views/productsView.html"
})
.when("/products", {
templateUrl: "views/productsView.html"
})
.when("/sales", {
templateUrl: "views/salesView.html"
})
.when("/charts", {
templateUrl: "views/chartsView.html"
})
.otherwise({
templateUrl: "views/productsView.html"
});
if (window.history && window.history.pushState) {
$locationProvider.html5Mode({
enabled: true
});
}
}
])
.controller("routeCtrl", function($scope, $location) {
$scope.setRoute = function(route) {
$location.path(route);
}
});
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<!--.....all the dependencies are here.....-->
<base href="app" />
</head>
<body ng-controller="myAppCtrl">
<div class="navbar navbar-inverse">
<a class="navbar-brand" href="#">Beerbay</a>
</div>
<div ng-controller="routeCtrl" class="col-sm-1">
<a ng-click="setRoute('products')" class="btn btn-block btn-primary btn-lg">Products</a>
<a ng-click="setRoute('sales')" class="btn btn-block btn-primary btn-lg">Sales</a>
<a ng-click="setRoute('charts')" class="btn btn-block btn-primary btn-lg">Charts</a>
</div>
<ng-view/>
</body>
</html>
Обновление: частично работает после того как я начал приложения в сервере узла отдельной единицы WebStorm использует. После того, как я нажму обновленную страницу, я получаю только короткое сообщение на странице: «Невозможно GET /...__partial view name *»
На данный момент я сохраню идентификатор фрагмента, потому что у меня нет времени, и кажется сложным установить сервер для перезаписи перенаправления, но я открыт для любого предложения или решения. Благодарю. –