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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
'use strict';
 
var app = angular.module('firstApp', ['ngRoute']);
index.html
Code html : 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
<!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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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();
	})
;
recetteProvider.js
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
'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;
				  	});
			}
 
});
Tout me semble correct et le console.log de mon provider m'affiche bien les données de mon webservice.

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 :

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
'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;}
});
Pourtant mon Json est correct...
Merci.