表单序列化传参数到后台

/*
    $("#form").serialize()可以获取到序列化的表单值字符串,如:a=1&b=2&c=3&d=4&e=5 注:控件需定义name属性

    这样获取得不是json字符串,后台不好转为bean,我们可以先把表单数据序列化为一个json对象,如下方法
    然后 JSON.stringify(jsonObj);  // 将json对象转换为json字符串传给后台   
    然后后台将json字符串转为bean对象
 */
$.fn.serializeObject = function() {    // 把表单数据序列化为一个json对象
    var o = {};
    var a = this.serializeArray();
    $.each(a, function() {
        if (o[this.name] !== undefined) {
            if (!o[this.name].push) {
                o[this.name] = [o[this.name]];
            }
            o[this.name].push(this.value || '');
        } else {
            o[this.name] = this.value || '';
        }
    });
    return o;
};
var jsonObj = $("#applyForm").serializeObject();   // 把表单数据序列化为一个json对象
var jsonStr = JSON.stringify(jsonObj);  // 将json对象转换为json字符串

var paramData = {};
paramData.mobile = $("#maintancemobile").val();
paramData.code = $("#code").val();
paramData.platformInfo = jsonStr;    // 其它基本信息数据值
// 获取json字符串
String infoJsonStr = request.getParameter("platformInfo");
// 将json字符串转为bean对象
PlatformInfo platformInfo = JSON.parseObject(infoJsonStr, new TypeReference<PlatformInfo>() {});

FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换

https://www.cnblogs.com/jayinnn/p/9561617.html

猜你喜欢

转载自blog.csdn.net/qzc2017/article/details/85261648