在spring框架中,如何通过ajax调用将id值传递给控制器来获得控制器对jsp页面的响应



在我的程序中,我需要通过传递id来执行操作。id是从下拉框中选择的(即动态更改)。因此,为了传递id,我正在使用ajax。但我不知道在春天从控制器接收响应的代码。

<div class="form-group">
   <label  class="col-sm-4 control-label">Employee</label>
   <div class="col-sm-6">
     <select id="empId" name="empId" class="form-control" >
        <option value="" >--Select--</option>
        <c:forEach var="row" items="${employeeList}" >
          <option value="${employeeList.Id}">${employeeList.name</option>
        </c:forEach> 
     </select>
   </div>
   <div class="col-sm-6">
     <input type="text" name="empname" id="empname" class="form-control"/>
   </div>
 </div>

//i need to pass the employee id from the dropdown box to controller and get     //the name of the employee as response .and set the response value in the text     //box.how can be it done in spring using ajax.

//ajax代码我试过

  $('#empId').change(function(event) {  
                var eId= $("select#empId").val();
                $.get('getEmpName', {
                    id: eId
                }, function(data) {
                    $('#empname').val(data);
                });
            });
//but i am not getting any response ie:nothing in data

这里是ajax端代码:

$('#empId').change(function() {  
    $.ajax({
            type: 'POST',
            dataType: 'json',
            url: 'your_url', // in your controller side (RequestMapping value)
            data: 'empId='+$('#empId').val(),
            success: function(responseData, textStatus) {
                // your stuff here. you found the response in responseData var.
            },
            complete: function(textStatus) {
            },
            error: function(responseData)
            {
            }
    });
});

你的控制器端代码如下,

@RequestMapping(value = "your_url", method = RequestMethod.POST)
    public ResponseEntity<String> postMethod(HttpServletRequest req) {
        String jsonString = "";
        String empId = req.getParameter("empId");
        // your operation done here and 
        //convert it to json format before sending response.
        jsonString = gson.toJson("your response convert here to json format"); // here i used google Gson library to convert your response in json format.
        HttpHeaders responseHeaders = new HttpHeaders();
        responseHeaders.add("Content-Type", "text/html; charset=utf-8");
        return new ResponseEntity<String>(jsonString, responseHeaders, HttpStatus.CREATED);
    }

最新更新