Я пытаюсь понять, почему после возврата нового ModelAndView (), URL не изменяется. Вот мой код:
<div class="container" id="container">
<button id="test1" onclick="showSchedule(this.id)">Test button</button>
</div>
<script>
function showSchedule(buttonName) {
$.ajax({
url: "/appointment/employee/" + buttonName,
type: "GET",
dataType: 'html',
success: function (response) {
$("#container").html(response);
},
error: function (response) {
console.log(response);
}
});
}
Вот контроллер, который перехватывает этот запрос:
@RequestMapping("/appointment")
public class AppointmentController {
@GetMapping(value = "/employee/{scheduleName}")
public @ResponseBody
ModelAndView showSchedule(@PathVariable("scheduleName") String scheduleName,
Model model,
HttpServletRequest request) throws IOException {
model.addAttribute("scheduleName", scheduleName);
ModelAndView mav = new ModelAndView(new MappingJackson2JsonView());
String url = request.getRequestURL().toString();
mav.addObject("url", url);
mav.addObject("view", "renderAppointments");
mav.setViewName("renderAppointments");
return mav;
}
}
В этом случае jsp отображается, но URL не изменяется. Если я изменяю dataType на json, я получаю всю необходимую информацию и могу изменить URL, но тогда jsp не отображается