Bonjour à tous,
Je vous expose mon problème. J'interroge un webservice que je l'ai fait avec Laravel et je souhaite l'afficher grâce à Angular.
Voici mon architecture :
app.js
index.htmlCode:
1
2
3 'use strict'; var app = angular.module('firstApp', ['ngRoute']);
Code:
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 <!DOCTYPE html> <html> <head> <title>Ang first app</title> <!-- scripts --> <script type="text/javascript" src='bower_components/angular/angular.js'></script> <script type="text/javascript" src='bower_components/angular-route/angular-route.js'></script> <!-- module --> <script type="text/javascript" src='app.js'></script> <!-- routing --> <!--<script type="text/javascript" src='routing.js'></script>--> <!-- Providers --> <script type="text/javascript" src='src/services/recetteProvider.js'></script> <!-- controllers --> <script type="text/javascript" src='src/controllers/recetteController.js'></script> <!-- Directives --> <!--<script type="text/javascript" src='src/directives/recetteDirective.js'></script>--> </head> <body ng-app='firstApp'> <div ng-controller="ListRecette"> Test : {{ test }} <div ng-repeat="recette in recettes"> <p> titre : {{ recette.id }} </p> </div> </div> </body> </html>
recetteController.js
recetteProvider.jsCode:
1
2
3
4
5
6
7
8
9 'use strict'; app.controller('ListRecette', function ($scope, recetteProvider,$http){ $scope.test="Bonjour"; console.log("controller : "+recetteProvider.getRecettes()); $scope.recettes = ""; $scope.recettes = recetteProvider.getRecettes(); }) ;
Tout me semble correct et le console.log de mon provider m'affiche bien les données de mon webservice.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 'use strict'; app.service('recetteProvider', function($http){ this.getRecettes=function(){ $http.get("http://localhost/laravel2015/thermomix/public/recette/ws") .success(function(data) { console.log("Provider :"+ data); return data; }) .error(function(data) { return -1; }); } });
MAIS mon controller est undefinied !!!
Je ne comprends pas pourquoi du tout, sachant que si je ne passe pas par un web service dans mon provider, tout marche :
Pourtant mon Json est correct...Code:
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 'use strict'; var recettes = [ { 'id':1, 'nom':'couscous', 'description': 'Il faut être un marocain pour faire un couscous :3' }, { 'id':2, 'nom': 'Mini cakes', 'description': "Faites fondre le beurre sur feu doux ....." }, { 'id':3, 'nom': 'Poulet basquaise', 'description':"Faire chauffer 4 cuillères à soupe d'huile dans une cocotte. Y faire dorer les oignons,l'ail pressé, les poivrons taillés en lanières. Laisser cuire 5 min...." } ]; app.service('recetteProvider', function($http){ this.getRecettes=function(){ return recettes;} });
Merci.