Comment mettre à jour ac: forEach en utilisant Ajax dans le projet Spring?

Voici le code AJAX où je sélectionne une valeur dans la liste déroulante et je récupère une liste du contrôleur. Lorsque je récupère la liste, je souhaite mettre à jour l’élément c: forEach à l’aide du résultat AJAX.

AJAX

 $(document).ready(function() { $("#byCollege").change(function() { // Get and convert the data for sending // Example: This variable contains the selected option-text var collName = $('#byCollege').val(); var studentName = '${salary}'; var json = {"name" : studentName, "collName" : collName}; // Send the data as an ajax POST request $.ajax({ url: "http://localhost:8080/AnnaUnivResults/mvc/byCollege", type: 'POST', dataType: 'json', data: JSON.ssortingngify(json), contentType: "application/json", mimeType: 'application/json', success: function(response) { alert(JSON.ssortingngify(response)); $("#studList").html(JSON.ssortingngify(response)); }, error: function(data, status, er) { alert("error: " + data + " status: " + status + " er:" + er); } }); }); }); $(document).ready(function() { alert(document.getElementById('studentName').val()); }); var current = document.getElementById('studentName').value(); currnet.value =   

Manette

 @ResponseBody @RequestMapping(value = "/byCollege", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) public List filterByColl(@RequestBody OneStudentResult oneStudentResult, ModelMap model){ ModelAndView modelAndView = new ModelAndView(); Ssortingng deptName = null; nameList = resultService.getStudentByColl(oneStudentResult.getName(), oneStudentResult.getCollName()); Iterator itr = nameList.iterator(); Set uniqueDeptList = new TreeSet(); while(itr.hasNext()){ System.out.println(itr.next().getName()); } uniqueDeptList.add(" Select a Department "); model.addAtsortingbute("uniqueDeptList", uniqueDeptList); model.addAtsortingbute("nameList", nameList); modelAndView.addObject("nameList", nameList); return nameList; } Set uniqueDeptList = new TreeSet(); while(itr.hasNext()){ deptName = itr.next().getDeptName(); if(!uniqueDeptList.contains(deptName)){ uniqueDeptList.add(deptName); } } uniqueDeptList.add(" Select a Department "); model.addAtsortingbute("uniqueDeptList", uniqueDeptList); model.addAtsortingbute("nameList", nameList); return "nameResult"; } 

En réalité, le but de l’appel AJAX est de mettre à jour le jstl de jsp en utilisant AJAX.

PS: À partir de maintenant, je pouvais voir mon ancienne table s’en aller et je vois ma liste comme suit

 [{"regNo":"1234","name":"ABCD","collName":" COLLEGE OF ENGINEERING","deptName":"BE Electronics and Communication Engineering","results":null,"subjCode":null,"subjName":null,"grade":null,"result":null}] 

En collant comme réponse, plus facile à formater, je suppose que deux modifications sont nécessaires, premièrement, supprimez le @ResponseBody de la réponse.

et changer la méthode du contrôleur à quelque chose comme

  public ModelAndView filterByColl(@RequestBody Mapping oneStudentResult, ModelMap model){ ModelAndView modelAndView = new ModelAndView("nameResult"); ... return modelAndView; } 

puis définissez les types appropriés dans votre demande ajax, car la réponse n’est plus json. Je pense que vous rencontrerez toujours votre problème d’parsing car il est très probablement lié aux données, mais c’est un moyen de redirect vers une vue.

Il y a un problème que je vois, vous utilisez uniqueDeptList comme nom de la liste envoyée par le contrôleur, et vous utilisez le même nom dans var = “uniqueDeptList” , il s’agit probablement d’un problème, essayez d’utiliser un identifiant différent comme var = “uniqueDeptListCurrentItem”