ниже Url показывает книгу перечисления пользователя под арендатором xxtenant в следующей ссылкеBrowser кнопки назад перенаправление на предыдущую страницу и добавление маршрута к URL каждый раза, маршрутизация выполняются с angulrjs
http://localhost:5306/xxtenant#/mybooks
конфигурация маршрута для указанного выше ниже,
$routeProvider.when('/mybooks', {
templateUrl: '/partials/mybooks.html',
controller: 'mybooksCtrl',
resolve: {
//code to check tokens
}
})
страницы листинга у меня есть одна кнопка, чтобы редактировать данные книги, если я нажимаю кнопку браузер будет перенаправлять на http://localhost:5306/xxtenant#/editbook/7190/edit/saved
$routeProvider.when('/editbook/:bookId?/:action/:status', {
templateUrl: '/partials/editbook.html', controller: 'editbookCtrl', resolve: {
//code to check tokens
}
})
Если я нажимаю браузер кнопку назад с этой страницы редактирования, он перенаправляется на предыдущую страницу и URL стал, как показано ниже, http://localhost:5306/xxtenant#/mybooks#%2Fmybooks.
Итак, если кнопка нажмите редактирования, он перенаправляет на страницу редактирования и URL-адрес будет http://localhost:5306/xxtenant#/editbook/7190/edit/saved#%2Fmybooks
и оттуда я щелкая браузер кнопка назад будет перенаправлять http://localhost:5306/xxtenant#/accessdenied#%2Fmybooks%23%252Fmybooks и поскольку я определил маршрут как .otherwise({ redirectTo: '/accessdenied' })
Любой может мне помочь, почему '/mybooks'
добавляется к URL-адресу при нажатии кнопки «Назад»?
AngularJS Version 1.4.8 и радиально-Route Version 1.4.3
Привет Редактирование пост с тех пор, я нашел причину случиться это,
Проблема происходит потому, что я 'm вызывает $location.path('/mybooks');
если какие-либо изменения на странице книги редактирования я буду препятствовать обратному или $locationchangestartevent
и показать всплывающее окно для сохранения или отмены изменений. При сохранении или отмене я назову URL-адрес местоположения, который пользователь попытался выполнить. Ниже мой код,
function init() {
onRouteChangeOff = $scope.$on('$locationChangeStart', routeChange);
}
function routeChange(event, newUrl, oldUrl) {
var form = $scope.createbookForm;
if (form.$dirty || $scope.MediaSelected || $scope.ImageSelected || $scope.TrainingTypeSelected) {
var modalInstance = $uibModal.open({
animation: $scope.animationsEnabled,
templateUrl: '/scripts/angular/src/modal.html',
controller: 'ModalInstanceCtrl',
size: 'sm',
resolve: {
modalOptions: function() {
return $scope.modalOptions;
}
}
});
}
modalInstance.result.then(function (returnVal) {
if (returnVal) {
if ($scope.isValidForSavePopUp) {
$scope.saveClass(form);
}
onRouteChangeOff();
$location.path($location.url(newUrl).hash());//here the issue
}
});
event.preventDefault();
return;
}
Призывая к $location.path($location.url(newUrl).hash());
его перенаправление должным образом, но при добавлении% 2f и значение $location.url(newUrl).hash()
Он работает нормально, если я использую $window.location.href = newUrl;
Пожалуйста, советы