将json序列化对象转换为json序列化字符串

本文介绍了一种将HTML表单数据转换为JSON格式的方法,并通过AJAX进行异步提交。此外还展示了如何在后端接收并处理这些JSON数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  function getFormJson(form) {
        var o = {};
        var a = $(form).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;
    }

在ajax请求后台处理过程当中,ajax请求方法书为:
          var MajorTestresult;
        var json=getFormJson($("#majorTestForm"));//调用该方法将表单序列化为JSON字符串
        var jsonstr=JSON.stringify(json,null,"\t");
        if($("input:checked").length==ExamCount){
            $.ajax({
                url:'/qualtitytest/submitZqmajorTestData',
                type:"post",
                contentType:"application/json",//设置contentType:"application/json"
                dataType:'json',
                data:jsonstr,
                beforeSend:function () {
                    MajorTestresult=new simpleAlert({"content": "正在提交测试结果,请稍等。。。",})//ajax请求处理前调用刷新操作
                },
                success:function(data) {
                    MajorTestresult.close();
                    if(data.success){
                        new TipBox({type:'success',str:'数据处理成功,5s后自动跳转',setTime:5000,callBack:function(){
                                window.location.href="/qualtitytest/zqcp_index";
                            }});
                    }else{
                        new TipBox({type:'error',str:data.msg,hasBtn:true});
                    }
                },
                error:function () {
                    alert("出错了,请联系管理员!");
                }
            })
在后台使用@RequestBody String jsonstr,可以将json字符串装换成json对象,在使用json对象的处理方法取值进行操作即可,最重要的操作就是数据组装。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值