J'utilise un appel ajax pour exécuter des fonctionnalités dans un fichier de service et si la réponse est réussie, je souhaite rediriger la page vers une autre URL. Actuellement, je fais cela en utilisant de simples js "window.location = response ['message'];". Mais je dois le remplacer par du code angularjs. J'ai cherché diverses solutions sur stackoverflow, ils ont utilisé $ location. Mais je suis nouveau dans angular et j'ai du mal à le mettre en œuvre.
$http({
url: RootURL+'app-code/common.service.php',
method: "POST",
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
dataType: 'json',
data:data + '&method=signin'
}).success(function (response) {
console.log(response);
if (response['code'] == '420') {
$scope.message = response['message'];
$scope.loginPassword = '';
}
else if (response['code'] != '200'){
$scope.message = response['message'];
$scope.loginPassword = '';
}
else {
window.location = response['message'];
}
// $scope.users = data.users; // assign $scope.persons here as promise is resolved here
})
javascript
angularjs
Farjad Hasan
la source
la source
Réponses:
Vous pouvez utiliser Angular
$window
:Exemple d'utilisation dans un contrôleur:
la source
Vous pouvez rediriger vers une nouvelle URL de différentes manières.
$location.path(YOUR_URL);
ou$location.url(YOUR_URL);
. Donc, la différence fondamentale entre les 2 méthodes est que cela$location.url()
affecte également les paramètres d'obtention, alors que ce$location.path()
n'est pas le cas.Je recommanderais de lire les documents
$location
et$window
ainsi vous aurez une meilleure compréhension des différences entre eux.la source
$location.path('/configuration/streaming');
cela fonctionnera ... injectez le service de localisation dans le contrôleurla source
J'ai utilisé le code ci-dessous pour rediriger vers une nouvelle page
et injecté l'objet $ window dans ma fonction de contrôleur.
la source
Cela pourrait vous aider !!
L'échantillon de code AngularJs
la source
Dans AngularJS, vous pouvez rediriger votre formulaire (lors de la soumission) vers une autre page en utilisant
window.location.href='';
comme ci-dessous:Essayez simplement ceci:
la source
J'ai également rencontré des problèmes de redirection vers une page différente dans une application angulaire
Vous pouvez ajouter le
$window
comme Ewald l'a suggéré dans sa réponse, ou si vous ne voulez pas ajouter le$window
, ajoutez simplement un délai d'attente et cela fonctionnera!la source
La façon simple que j'utilise est
la source
Un bon moyen de le faire est d'utiliser $ state.go ('statename', {params ...}) est plus rapide et plus convivial pour l'expérience utilisateur dans les cas où vous n'avez pas à recharger et à démarrer toute la configuration de l'application, etc.
// itinéraires
la source
la source
Si vous souhaitez utiliser un lien, alors: dans le html, avez:
dans le fichier dactylographié
}
J'espère que vous voyez cet exemple utile car il a été pour moi avec les autres réponses.
la source
En utilisant
location.href="./index.html"
ou créer
scope $window
et en utilisant
$window.location.href="./index.html"
la source