J'ai une API REST côté serveur, qui peut retourner une donnée jsonyfied avec une structure arbitraire. Du côté client, j'ai une application Angular.
ressource est définie:
module.factory('SearchQueries', function ($resource){
return $resource('/instances/searches/:_id', {_id: '@_id'});
})
Après essayer d'obtenir des données de mon api:
$scope.search_queries = SearchQueries.query(null, function(args){
console.log('success: ', args);
for (i in args) {
}
});
Le côté client reçoit une donnée avec une structure un peu:
{"2": "serfgserg", "3": "sdfgdfg", "4": "sdgdfhdfghfgh", "5": "sdgdfhdfghfgh"}
Mais! Dans la fonction de succès de la ressource angulaire, chaque symbole de la donnée est la valeur d'un objet élément.
[{"0":"s","1":"e","2":"r","3":"f","4":"g",
e.t.c
Pourquoi est-il fait? Comment prévenir ou utiliser correctement?
modifier:
Si je retourne un tableau à partir du serveur:
res = json.dumps(["sdf", "asdf", "asdf"])
return Response(response=res, mimetype='application/json',
status=status)
Peu importe, j'ai le même résultat:
[{"0":"s"},{"0":"d"},{"0":"f"},{"0":"a"},{"0":"s"},{"0":"d"},{"0":"f"} // e.t.c
Est-ce que votre retour du serveur à propos de JSON valide? Votre serveur retourne-t-il "application/json"? – cgarvis
Oui c'est. La réponse a été modifiée. – I159