Pages

[Node.js] [+Angular] Erreur de récupération d'un JSON depuis une requête GET sujet

vendredi 28 mars 2014




Bonjour,

Je développe une application full JS pour apprendre Node.js et Angular.
D'un côté j'ai une appli Angular qui utilise Grunt (http://localhost:9000), de l'autre une API Node.js qui traite les données (http://localhost:8001).

Je souhaite que l'appli récupère le contenu d'un fichier JSON en faisant un appel au serveur (méthode GET) :

Soit avec le service $http :

Code:


1
2

$http.get("http://localhost:8001/blocks")


Soit en utilisant $resource :

Code:


1
2
3
.factory("Blocks", function ($resource) {
return $resource("http://localhost:8001/blocks",{},);
});


puis :

Code:


$scope.blocksList = Blocks.query()


Côté serveur, j'envoie les données lorsqu'on reçoit une requête GET :


Code:


1
2
3
server.get('/blocks', function(req, res){
res.sendfile('data/blocks.json');
});



Lorsque je teste la récupération des données, l'application reçoit bien une réponse avec une en-tête (statut 200), mais le corps de la requête est vide :


Code:


1
2
3
4
5
6
7
8
Host: localhost:8001
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:28.0) Gecko/20100101 Firefox/28.0
Accept: application/json, text/plain, */*
Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://127.0.0.1:9000/
Origin: http://127.0.0.1:9000
Connection: keep-alive


Pourtant, lorsque je teste l'API via CURL, je reçoit bien les données :


Code:


curl -i -H "Accept: application/json" -H "Content-Type: application/json" http://localhost:8001/blocks

Réponse :

Code:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
HTTP/1.1 200 OK
X-Powered-By: Express
Accept-Ranges: bytes
ETag: "498-1396003136000"
Date: Fri, 28 Mar 2014 12:05:59 GMT
Cache-Control: public, max-age=0
Last-Modified: Fri, 28 Mar 2014 10:38:56 GMT
Content-Type: application/json
Content-Length: 498
Connection: keep-alive

[
{"id": 0, "title": "Default", "type": "default", "order": 1, "col": 0},
{"id": 1, "title": "My music block 1", "type": "music", "order": 4, "col": 2},
{"id": 2, "title": "My links block 1", "type": "links", "order": 3, "col": 1},
{"id": 3, "title": "My default block 2", "type": "default", "order": 2, "col": 2},
{"id": 4, "title": "My music block 2", "type": "music", "order": 0, "col": 0},
{"id": 5, "title": "My links block 2", "type": "links", "order": 5, "col": 1}
]


Est-ce que quelqu'un sait d'où peut venir le problème ?

Merci,

Romain




Aucun commentaire:

Enregistrer un commentaire