Récupérer une liste JSonObject provenant du controleur
Bonsoir
J'utilise Spring pour récupérer une liste d'objets et je les renvoie à ajax pour l'affichage:
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 29 30 31 32 33 34 35 36 37 38 39 40
| @RequestMapping(value="/rechercherEntree", method=RequestMethod.POST)
public @ResponseBody ResponseEntity<Object> getAll(ModelMap model, @RequestParam(name = "critereRecherche") String critereRecherche, @RequestParam(name = "valeurRecherche") String valeurRecherche) {
List<Entree> entityList = null;
String critere = critereRecherche;
if(critere.equals("nomClient"))
entityList = entreeService.findEntreeByNomClient(valeurRecherche);
else if(critere.equals("numDossier"))
entityList = entreeService.findEntreeByNumDossier(valeurRecherche);
else if(critere.equals("numEntree"))
entityList = entreeService.findEntreeByNumEntree(valeurRecherche);
else if(critere.equals("dateEntree"))
entityList = entreeService.findEntreeByDateEntree(valeurRecherche);
if (entityList.isEmpty()) {
return new ResponseEntity<Object>("Aucun résultat trouvé!!!" , HttpStatus.BAD_REQUEST);
}
else
{
List<JSONObject> entities = new ArrayList<JSONObject>();
for (Entree n : entityList) {
JSONObject entity = new JSONObject();
entity.put("idEntree", n.getIdEntree());
entity.put("nomClient", n.getNomClient());
entity.put("numDossier", n.getNumDossier());
entity.put("numEntree", n.getNumEntree());
entity.put("dateEntree", n.getDateEntree());
entity.put("typeEntree", n.getTypeEntree());
entity.put("nomArticle", n.getNomArticle());
entity.put("typeArticle", n.getTypeArticle());
entity.put("quantiteEntree", n.getQuantiteEntree());
entities.add(entity);
}
System.out.println(Arrays.toString(entities.toArray()));
return new ResponseEntity<Object>(entities, HttpStatus.OK);
} |
La ligne :
Code:
System.out.println(Arrays.toString(entities.toArray()));
me permet de constater que les données sont bien récupérées. Elle m'affiche ceci:
Citation:
[{"numDossier":"2903062020","numEntree":"2903062020","nomArticle":"Pneus","typeEntree":"consommation","dateEntree":"06/10/2020","quantiteEntree":10,"typeArticle":"test","nomClient":"total","idEntree":14}, {"numDossier":"2903062020","numEntree":"21212121212","nomArticle":"Pneus","typeEntree":"consommation","dateEntree":"06/10/2020","quantiteEntree":10,"typeArticle":"test","nomClient":"total","idEntree":15}, {"numDossier":"2903062020","numEntree":"7454545454","nomArticle":"Pneus","typeEntree":"consommation","dateEntree":"06/10/2020","quantiteEntree":10,"typeArticle":"test","nomClient":"total","idEntree":16}, {"numDossier":"2903062020","numEntree":"7454545454","nomArticle":"Roues","typeEntree":"consommation","dateEntree":"06/10/2020","quantiteEntree":10,"typeArticle":"test","nomClient":"total","idEntree":20}]
Ensuite je récupère cette liste dans ma requête ajax:
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 29 30 31 32 33 34
| var form = $('#form_rechercher_entree');
/* Send the data using post and put the results in a div */
request =$.ajax({
url: form.attr('action'),
type: "POST",
data:form.serialize(),
beforeSend: function() {
$('#load-img').show();
},
success: function(response, textStatus, jqXHR){
$('#load-img').hide();
var jsonObj = JSON.parse(JSON.stringify(response));
// console.log(JSON.stringify(response));
for (var i = 0; i < jsonObj.length; i++) {
console.log("id: "+jsonObj[i]['idEntree']);
console.log("nom: "+jsonObj[i]['nomClient']);
console.log("dossier: "+jsonObj[i]['numDossier']);
console.log("numEntree: "+jsonObj[i]['numEntree']);
console.log("dateEntree: "+jsonObj[i]['dateEntree']);
console.log("typeEntree: "+jsonObj[i]['typeEntree']);
console.log("nomArticle: "+jsonObj[i]['nomArticle']);
console.log("typArticle: "+jsonObj[i]['typeArticle']);
console.log("quantiteEntree: "+jsonObj[i]['quantiteEntree']);
}
},
error:function(jqXHR, textStatus, errorThrown){
$('#load-img').hide();
$('.resultat').html(jqXHR.responseText);
$('.resultat').css('color', 'red');
} |
Sauf que je reçois un contenu vide:
Citation:
id: undefined
nom: undefined
dossier: undefined
numEntree: undefined
dateEntree: undefined
typeEntree: undefined
nomArticle: undefined
typArticle: undefined
quantiteEntree: undefined
Merci