У меня возникла проблема с изменением 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'];
Может кто-нибудь помочь мне?