后台获取前台表单数据

功能需求:后台返回状态info

框架:SpringMVC

前后台交互方式选择:ajax 而不是表单提交。

  1. 前台传数据到后台
    需将form表单进行序列化
    采用jQuery内置的系列化方式 serialize
    $("form").eq(0).serialize();
    但所得到的结果并不是我们所想要的样子,可自行再试遍。
    后来采用了其插件 serializeObject

    $.fn.serializeObject = function () {
    var obj = {};
    var count = 0;
    $.each(this.serializeArray(), function (i, o) {
    var n = o.name, v = o.value;
    count++;
    obj[n] = obj[n] === undefined ? v
    : $.isArray(obj[n]) ? obj[n].concat(v)
    : [obj[n], v];
    });
    //obj.nameCounts = count + "";//表单name个数
    return JSON.stringify(obj);
    };

    这样就得到了,我们想得到的结果。(虽然这代码还是有些Bug,例如复选框之内的,但对于我的代码而言是可以的了。)

    var subjectData = $("form").eq(1).serializeObject();
    var url ="<%=request.getContextPath()%>/{0}";
    $.post(url,{"subjectData":subjectData},function(data){
    console.log(data.info);
    });

  2. 后台接受前台数据
    和正常一样,用 @RequestParam注解
    紧接着我是采用gson方式将json格式数据解析成VO对象。
    本人博客:Gson解析

原文地址:https://www.cnblogs.com/zhaoww/p/5387288.html