| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
| slam4:richclient:angularjs:services [2015/01/13 17:26] – [Quelques services AngularJs] jcheron | slam4:richclient:angularjs:services [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 |
|---|
| |
| ===== -- Injection d'un service ===== | ===== -- Injection d'un service ===== |
| | |
| | Exemple d'injection du service **$window** dans un contrôleur pour permettre une redirection de la page vers une autre URL.\\ |
| | voir [[slam4:richclient:angularjs:elements#injection_de_dependance_dependency_injection]] |
| | |
| | <sxh javascript> |
| | angular.module('myApp').controller('GotoController', [ '$scope','$window',function($scope,win) { |
| | $scope.location="http://www.google.fr"; |
| | $scope.go=function(){win.location=$scope.location;}; |
| | } ]); |
| | |
| | </sxh> |
| | |
| | |
| | ===== -- $http service ===== |
| | Le service **$http** (ng module) permet de faire des requêtes HTTP vers un serveur, via l'objet [[https://developer.mozilla.org/en/xmlhttprequest|XmlHttpRequest]] du navigateur ou via [[http://en.wikipedia.org/wiki/JSONP|JSONP]]. |
| | |
| | ==== -- Usage classique ==== |
| | |
| | <sxh javascript> |
| | // Exemple de get : |
| | $http.get('/someUrl'). |
| | success(function(data, status, headers, config) { |
| | // Fonction de rappel appelée de manière asynchrone |
| | // quand la réponse est reçue |
| | }). |
| | error(function(data, status, headers, config) { |
| | // Appelé de manière asynchrone en cas d'erreur |
| | // ou si le serveur retourne une réponse avec un statut d'erreur. |
| | }); |
| | </sxh> |
| | <sxh javascript> |
| | // Exemple de post avec passage de données : |
| | $http.post('/someUrl', {msg:'hello word!'}). |
| | success(function(data, status, headers, config) { |
| | // Fonction de rappel appelée de manière asynchrone |
| | // quand la réponse est reçue |
| | }). |
| | error(function(data, status, headers, config) { |
| | // Appelé de manière asynchrone en cas d'erreur |
| | // ou si le serveur retourne une réponse avec un statut d'erreur. |
| | }); |
| | </sxh> |
| | |
| | ==== -- Raccourcis ==== |
| | |
| | * [[https://docs.angularjs.org/api/ng/service/$http#get|$http.get]] |
| | * $http.head |
| | * $http.post |
| | * $http.put |
| | * $http.delete |
| | * $http.jsonp |
| | * $http.patch |
| | |
| | |
| | <sxh javascript> |
| | $http.get('/someUrl').success(successCallback); |
| | $http.post('/someUrl', data).success(successCallback); |
| | </sxh> |
| | |
| | |
| | ===== -- $q service ===== |
| | Le service **$q** (ng module) permet d'exécuter des fonctions de manière asynchrone et utilise leurs valeurs de retour ou d'erreur quand l'exécution est terminée. |
| |