У меня проблема с изменением URL-адреса страницы после отправки формы.
Вот как выглядит мое приложение:
- Установлены маршруты, распознается URL какой-то страницы формы.
- Страница загружается, контроллер устанавливает переменные, запускаются директивы.
- Запускается специальная директива формы, которая выполняет отправку специальной формы с использованием AJAX.
- После выполнения AJAX (Angular не заботится об AJAX) запускается обратный вызов, и директива вызывает
$scope.onAfterSubmit
функцию, которая устанавливает местоположение.
Проблема в том, что после установки локации ничего не происходит. Я тоже пробовал установить параметр местоположения /
... Нет. Я также пытался не отправлять форму. Ничего не работает.
Я проверил, достигает ли код onAfterSubmit
функции (что он делает).
Моя единственная мысль заключается в том, что каким-то образом изменилась область действия функции (поскольку она вызывается из директивы), но опять же, как она может вызывать, onAfterSubmit
если область видимости изменилась?
Вот мой код
var Ctrl = function($scope, $location, $http) {
$http.get('/resources/' + $params.id + '/edit.json').success(function(data) {
$scope.resource = data;
});
$scope.onAfterSubmit = function() {
$location.path('/').replace();
};
}
Ctrl.$inject = ['$scope','$location','$http'];
Кто-нибудь может мне помочь, пожалуйста?