2016-03-21 5 views
0

У меня есть метод POJ POST-AJAX, подобный этому.Ajax json POST и Spring MVC Controller 8

$(function() { 
       $('#formId').submit(function (event) { 
        event.preventDefault(); // prevent this form from being submited 
        var userJson = $('#id').val(); 
        alert(userJson); 
        $.ajax({ 
         type: "POST", 
         url: "/MobitelProgressTool/ajaxcall", 
         data: userJson, 
         contentType: "application/json; charset=utf-8", 
         dataType: "json", 
         success: function (data, textStatus, jqXHR) { 
          alert(data);//handle it in a proper way 
         }, 
         failure: function (jqXHR, textStatus, errorThrown) { 
          alert(textStatus);//handle it in a proper way 
         } 
        }); 
        alert("mm"); 
        return false; 
       }); 
      }); 

контроллер для обработки после запроса

@RequestMapping(value = {"/ajaxcall"}, method = RequestMethod.POST) 
    @ResponseBody// <== this annotation will bind Arr class and convert to json response. 
    public List<String> addAnotherAppointmenttt(HttpServletRequest request, HttpServletResponse response, @RequestBody String userJson, Model model, BindingResult errors) { 
     System.out.println("*******88888" + userJson); 
     //List<String> ll = stageViiChartDataServices.findByUpdated_Scope(userJson); 
     List<String> messages = Arrays.asList("Hello", "World!", "How", "Are", "You"); 
     return messages; 
    } 

, но я не могу получать список значений mesages ,. Я не уверен, как исправить код выше.

ответ

0

Чтение вашего javascript Я вижу, что вы публикуете значение в этой форме var userJson = $('#id').val();.

Таким образом, вы запрашиваете jQuery для получения значения. однако вы должны опубликовать json, а не значение. Мозговым, как это может быть прекрасно:

var value = $('#id').val(); 
var json = {'id': value} 

тогда мой личный совет был не использовать, если это возможно HttpServletRequest request, HttpServletResponse response в контроллере, а не использует Spring абстракцию, @RequestBody String userJson, Model model, BindingResult errors отлично!

Я надеюсь, что это может вам помочь

Смежные вопросы