Bonjour à tous,
Voila j'essai de me former à AngularJS en réalisant une todoList.
Ce que je souhaite faire c'est en premier lieu de charger depuis une base de donnée une liste de chose à faire, en enregistrer de nouvelles, les éditer et les supprimer. Cependant j'ai réussi à lister ces fameuses tâches avec $http.get().
Mon problème est lorsque je souhaite en créer de nouvelles via ma fonction addTodo(), l'insertion ne fonctionne pas. J'ai suivi le chemin de ma requête réalisé avec $http.post() et avec le firebug, j'ai observé que ma variable $_POST est vide. Je vous donne le code JS du controleur que j'ai créé pour ceci.
Code : 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 function todoCtrl($scope, filterFilter,$http){ $scope.todos = []; $scope.placeholder = 'Chargement...'; $http.get('php/lister.php').success(function(data){ $scope.todos = data; $scope.placeholder = 'Ajouter une nouvelle tâche'; }).error(function(){ $scope.placeholder = 'Erreur de chargement de données !'; }); $scope.$watch('todos',function(){ $scope.remaining = filterFilter($scope.todos, {completed:false}).length; $scope.allchecked = !$scope.remaining; },true) $scope.removeTodo = function(index){ $scope.todos.splice(index,1); } $scope.addTodo = function(){ $http.post('php/add.php',{'tache':$scope.newtodo},{'Content-Type':'application/x-www-form-urlencoded'}).success(function(){ alert("Ajout bien réaliser"); }).error(function(){ alert('Problème d\'insertion des la tâche dans la base de données'); }); $scope.placeholder = ''; } $scope.checkAllTodo = function(allchecked){ $scope.todos.forEach(function(todo){ todo.completed = allchecked; }) } }
Partager