2014-09-26 118 views
0

我是JavaScript和jQuery的新手。我动态创建行的对象复选框,单击凡在我的JSP是这样的:将JavaScript中的对象数组传递给spring的mvc控制器

var objects={}; 
var i=0; 
$(document).on('click', 'input[type="checkbox"]', function() { 
     var bar1 = $(this).closest("tr").find(".bar").val(); 
     var dda1 = $(this).closest("tr").find(".dda").text(); 
     objects[i] = {data:dda1,bar:bar1}; 
     i++; 
     $('#bar').val(JSON.stringify(objects)); 
}); 

,并首先在其设置为这样一个隐藏的输入类型...

$('#bar').val(JSON.stringify(objects)); 

我能够使用使用下面的控制器隐藏式阅读它...

@RequestMapping(value="/applypage",method= RequestMethod.POST) 

public String ListRequest(@RequestParam("bar") String object) 
{ 
    System.out.println(object); 
    return "applypage"; 
} 

这给了我下面的字符串...

{"0":{"data":"Data3","bar":"N"},"1":{"data":"Data1","bar":"Y"},"2":{"data":"Data4","bar":"N"},"3":{"data":"Data6","bar":"N"}} 

但在谷歌搜索后,并指很多教程,我发现我必须使用AJAX,然后我想这个代码...

var data={'objects':JSON.stringify(objects)}; 
$.ajax({ 
      type: "post", 
      url: "applypage", //your valid url 
      headers : { 
       'Accept' : 'application/json', 
       'Content-Type' : 'application/json' 
      }, 
      data: data, 
      success: function(result) { 
       alert("success"); 
      }, 
      error: function(e){ 
       alert('failure'); 
      } 
}); 

但我无法通过读取此值ajax ...

任何人都可以请帮我在这和我需要代码来编写控制器也读取JSON值。

回答

0

添加dataType: "json",在你的Ajax代码

$.ajax({ 
      type: "post", 
      url: "applypage", //your valid url 
      headers : { 
       'Accept' : 'application/json', 
       'Content-Type' : 'application/json' 
      }, 
      data: data, 
      dataType: "json" 
      success: function(result) { 
       alert("success"); 
      }, 
      error: function(e){ 
       alert('failure'); 
      } 
}); 
+0

而关于控制器如何读取它控制器 – 2014-09-26 07:12:24

+0

指这是什么http://stackoverflow.com/questions/20245544/how-to-pass-json-object -ajax-to-spring-mvc-控制器 – ssm 2014-09-26 07:25:29

+0

但我有一个对象数组 – 2014-09-26 07:48:01

相关问题