IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AngularJS Discussion :

Appeler un controller


Sujet :

AngularJS

  1. #1
    Membre à l'essai
    Profil pro
    Analyse système
    Inscrit en
    Décembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 16
    Points : 10
    Points
    10
    Par défaut Appeler un controller
    Bonjour j'ai un probleme sur sur un crontroller Angularjs, je n'arrive pas à appeler la fonction submitform(), ou que $http n'est pas une fonction ,
    je pense que le problème vient cette partie
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var app=angular.module('workspaceAngularApp',[]);
    app.controller('UserCtrl',  function ($scope , $http) {
    ...
    ...
    }
    voici le controller en question.
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
     
    var app=angular.module('workspaceAngularApp',[]);
       app.controller('UserCtrl',  function ($scope , $http) {
            $scope.confirmmdp = function () {
                if ($scope.password == $scope.password_c) {
                    console.log("true");
                    return true;
                }
                else {
     
                    return false;
                }
            }
            $scope.submitForm = function ($http) {
                $http({
                    method: 'POST',
                    url: 'http://localhost/api/addEmploye',
                    data: {
                        nom: $scope.userName,
                        prenom: $scope.lastName,
                        password: $scope.password,
                        ville: $scope.ville,
                        email: $scope.email,
                        tel: $scope.tel
                    }
     
                }).success(function (data, status) {
                    console.log("inscription");
                    $scope.incription = true;
     
                }).error(function (error) {
                    $scope.inscription = false;
                })
     
            }
            /*$scope.data = function () {
                return new Date();
            }*/
     
        });
    cordialement.

  2. #2
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    Bonjour,

    Il existe deux manières de déclarer un contrôleur et d'y injecter des composants.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function DemoController($scope, $http) {
    ...
    }
    //Injection
    DemoController.$inject = ["$scope", "$http"];
    Là tu déclare ton controleur en tant que fonction et tu y injecte $scope et $http.

    La deuxième manière et celle que je préfère est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    app.controller('DemoController', ['$scope', '$http', function($scope, $http) {
    ...
    }]);
    Par ailleurs, tu n'as pas besoin d'injecter une deuxième fois le service $http car il est injecté dans le contrôleur. D'ailleurs dans ton code, ce n'est pas une injection... c'est un paramètre de la fonction submitForm.
    Du coup, ta fonction ressemblerait à ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $scope.submitForm = function () {
    	$http(...
    }
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

Discussions similaires

  1. Comment s'appelle ce controle
    Par theclem35 dans le forum Débuter
    Réponses: 11
    Dernier message: 28/03/2011, 20h03
  2. URL du site appelant un controller grails/Ajax
    Par macumba dans le forum Grails
    Réponses: 1
    Dernier message: 23/11/2010, 13h28
  3. Réponses: 3
    Dernier message: 14/09/2010, 10h14
  4. [POO] Modèle MVC et appel de controller
    Par sourivore dans le forum MVC
    Réponses: 9
    Dernier message: 13/09/2009, 03h16
  5. Appel de controle ActiveX personnalise depuis javascript
    Par ay1@duclert.org dans le forum Windows
    Réponses: 1
    Dernier message: 23/05/2007, 15h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo