我是JavaScript和jQuery的新手。我正在动态创建行的对象,在我的jsp中单击复选框,如下所示:
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"}}
但是在google搜索并参考了许多教程之后我发现我必须使用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 :(得分:0)
在您的ajax代码中添加dataType: "json",
$.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');
}
});