#1 javascript深入浅出--将序列化数组转化为map类型对象类型

4 篇文章 0 订阅
2 篇文章 0 订阅

一、建立js方法

/**
@functionname:serializeObject
@description:将序列化数组转化为map类型对象类型
@author:yzh
@param:
@date:2018-08-16
*/
$.fn.serializeObject = function()
{
    var o = {};
    var a = this.serializeArray();
    $.each(a, function() {
        if (o["params["+this.name+"]"] !== undefined) {
            //设置为map类型 
            if(this.value!='' && this.value!= null){
                o["params["+this.name+"]"] = o["params["+this.name+"]"]+","+this.value || '';
            }else{
                o["params["+this.name+"]"] = o["params["+this.name+"]"] || '';
            }
        } else {
            o["params["+this.name+"]"] = this.value || +",";
        }
    });
    //将json对象中的非法NaN转换为""
    $.each(o,function(m){
        if(this+"" == "NaN"){
            o[m] = "";
        }
    });
    return o;
};

二、浏览器查看参数
这里写图片描述

三、测试
在controller方法中使用含有Map<K,V> params属性的复合类进行接收(复合类变量名可随意):

//提交按钮事件:添加数据
btn.on("click",function(){
    //将序列化数组转化为map类型对象类型
    var userInfo = $form.serializeObject();
    ajaxUtil({
        validatorForm:"#form",
        url:"/list/saveUserInfo.action",
        type:"post",
        async:false,
        data:userInfo,
        model:$("#myModal")
    });
});


@ResponseBody
@RequestMapping(value = "/saveUserInfo.action",method = {RequestMethod.POST })
public DataMessage saveUserInfo(Pagination<UserInfo> pageParams) throws Exception {
    System.out.println(pageParams.getParams());
    return DataMessage.successData("添加成功...");
}
/**output:
{password=123#We, sex=女, tel=15345678903, age=23, email=123@qq.com, username=lhywe}
**/
说明:Map<K,V> params是Pagination的一个属性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值