slam4:richclient:angularjs:services

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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:25] – [1- Injection d'un service] jcheronslam4:richclient:angularjs:services [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1
Ligne 15: Ligne 15:
   * Définition de paramètres (configuration) d'une application   * Définition de paramètres (configuration) d'une application
  
-===== Quelques services AngularJs =====+===== -- Quelques services AngularJs =====
  
 ^Nom ^Rôle ^ ^Nom ^Rôle ^
Ligne 29: Ligne 29:
  
 ===== -- 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.
  
  • slam4/richclient/angularjs/services.1421166351.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)