Ajax Call не собирается весной MVC - PullRequest
0 голосов
/ 26 апреля 2019

я использую Spring mvc, и я пытаюсь сделать ajax-вызов, но вызов не попадает в метод контроллера. Я вставил приведенный ниже код. Может ли кто-нибудь мне помочь в этом отношении?

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

<!DOCTYPE html>
<html>
<head>
<title>Welcome</title>
<meta charset="UTF-8">
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
        <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
        <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>  

        <script type="text/javascript">
            $( function() {
            $( ".datepicker" ).datepicker();
          } );
       </script>    

        <script>
        function submitLeave(empid){
            console.log("hi iam in submit leave method");
            alert("herreeee");
            var x = document.getElementById("startDate").value;         
            console.log("x= "+x);           
            alert("x=="+x);         
            console.log("empid "+empid);
            alert("empid=="+empid);

            $.ajax({
                type : 'GET',
                url : 'testLeave',
                data: { 'startDate':x,
                        'empid':empid                        
                      },
                 success: function(response){
                     alert(response);
                 },   

                 error: function(){
                     alert("error");
                 }
                });

        }
    </script>

</head>
    <body style="background-color:powderblue" >
    Welcome ${pageContext.request.userPrincipal.name} 
    Hi ${employee.name}, your employee id is ${employee.empid} <br><br><br><br>
    <i>inside testwelcome.jsp file</i>
    <br><br>

<h1>Apply your leave here</h1>

   <form:form method="GET" onsubmit="submitLeave('${employee.empid}')" >
   <label for="datepicker"> start date</label>
   <input type="text" name="startDate" placeholder="start date" class="datepicker" id="startDate"/> <br>
   <label for="datepicker">end date</label>
   <input type="text" name="endDate" placeholder="end date" class="datepicker" id="endDate"/> <br>
   <label > Reason</label>
   <input type="text" name="reason" placeholder="Reason"  id="reason"/> <br>
  Type of leave
  <select name="leaveType" id="leaveType">
  <option value="casual">Casual</option>
  <option value="sick">Sick</option>
</select> 
   <input type="submit" value="submit"/>
   </form:form>

<br><br>   
<form method="POST" action="/logout">
<input type="submit" value="logout">
<%-- <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/> --%>
</form>
</body>
</html>

класс контроллера ниже:

@GetMapping("/testLeave")
    public @ResponseBody String testLeave (@RequestParam String startDate, @RequestParam String empid) {

        System.out.println("inside test leave "+startDate+"$$$$$"+empid);       
        return "success";
    }

Я пытался добавить .html .jsp в поле URL-адреса ajax, но я не решил свою проблему ... Может кто-нибудь, пожалуйста, помогите мне отследить проблему

1 Ответ

0 голосов
/ 27 апреля 2019

я решил проблему .... проблема была в следующей строке

, выполнив это, даже если я вызову ajax с employee.empid, поскольку вся форма не имеет никакого эффектабыл отправлен, а employee.empid не был передан ..

я переместил отправку из тега в тег

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