【问题标题】:Passing array of objects from JavaScript to spring mvc controller将对象数组从 JavaScript 传递到 spring mvc 控制器
【发布时间】:2014-11-21 02:31:19
【问题描述】:

我是 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 值。

【问题讨论】:

    标签: jquery ajax json spring-mvc


    【解决方案1】:

    在你的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');
                }
     });
    

    【讨论】:

    猜你喜欢
    • 2013-08-01
    • 2015-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 2013-12-13
    • 2017-11-25
    • 1970-01-01
    相关资源
    最近更新 更多