Получить уведомление, когда форма не может быть отправлена ​​с помощью ajax - PullRequest
0 голосов
/ 26 мая 2019

У меня есть форма, чтобы пользователь мог запросить выходной, на моей серверной стороне у меня есть функциональность, чтобы проверить, просили ли более 3 человек на тот же выходной, и если они у них есть, не позволит ли пользователь запросить этот день. Я хочу отобразить всплывающее окно / предупреждение, когда они не могут запросить в этот день

Это в моем методе в моем контроллере

if(results.size() >3)
{
   System.out.println("Too many people asked for that day off");
   return new ModelAndView("request");

}
else
{
    Request request = new Request();
    request.setDate(newDate);
    request.setNumDays(numDays);
    request.setReason(reason1);

    ModelAndView mv = new ModelAndView("successRequest");
    mv.addObject("request", request);

    requestService.save(request);
        return mv;
}

Возвращает пустую форму, когда в этот день более 3 запросов, но я также хочу, чтобы в ней было предупреждение Я пытался сделать это на моей странице JSP с помощью AJAX

$('#form').submit(function(e)
{   
     $.ajax({
     type:'POST',
     url:"/request",
     data:$(this).serialize(),
     error: function(){
      window.alert("Too many people have asked for that day off");
      console.log("Error");
     }
});     
});

1 Ответ

0 голосов
/ 26 мая 2019

AJAX ожидает JSON ответ не ModelAndView Объект.

Итак, первое, что нужно сделать, это вернуть JSON Response, используя @ResponseBody вместо ModelAndView Object.

Затем, основываясь на значении флага, вы можете показать предупреждение пользователю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...