Après avoir rendu la page entière sur la base de plusieurs contextes d'utilisateur et après avoir fait plusieurs $http
je veux que l'utilisateur puisse changer de contexte et tout restituer à nouveau (en renvoyant toutes les demandes d $http
demandes, etc). Si je redirige simplement l'utilisateur ailleurs, les choses fonctionnent correctement :
$scope.on_impersonate_success = function(response) {
//$window.location.reload(); // This cancels any current request
$location.path('/'); // This works as expected, if path != current_path
};
$scope.impersonate = function(username) {
return auth.impersonate(username)
.then($scope.on_impersonate_success, $scope.on_auth_failed);
};
Si j'utilise $window.location.reload()
alors certains des $http
demandes sur auth.impersonate(username)
qui sont en attente d'une réponse sont annulées, donc je ne peux pas utiliser ça. De plus, le hack $location.path($location.path())
ne fonctionne pas non plus (rien ne se passe).
Existe-t-il un autre moyen de rendre à nouveau la page sans relancer manuellement toutes les requêtes ?
0 votes
Comme le dit Alvaro Joao ci-dessous, vous devez utiliser angular-route.js pour que cela fonctionne. bennadel.com/blog/
0 votes
Duplicata possible de AngularJs : Rechargement de la page