Bonsoir

J'utilise Spring pour récupérer une liste d'objets et je les renvoie à ajax pour l'affichage:

Code Java : 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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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:

[{"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 : 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
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:

id: undefined
nom: undefined
dossier: undefined
numEntree: undefined
dateEntree: undefined
typeEntree: undefined
nomArticle: undefined
typArticle: undefined
quantiteEntree: undefined
Merci