首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >记录一次奇葩的ajax向后台传送数据2及后台处理

记录一次奇葩的ajax向后台传送数据2及后台处理

作者头像
凯哥Java
发布2019-06-30 11:29:37
发布2019-06-30 11:29:37
1.1K0
举报
文章被收录于专栏:凯哥Java凯哥Java

在上一篇《记录一次奇葩的ajax向后台传送数据》中我们知道了前台向后台传值的一种方法。在本文中,我们将介绍第二种方法以及后台怎么接收这样的数据。

声明:本文由凯哥Java发布在趣头条自媒体上。

前端传参方式二:

在上一篇中,我们看到了参数的数据格式,是一个对象包含两个属性,其中一个属性是对象,另一个属性是数组格式的。我们又知道前端传递给后台数据类型是字符串或者是int类型的。那么我们可以不可以就按需要参数的数据格式进行拼装参数?但是直接以字符串类型给后台,后台能接收处理吗?事实证明,如果直接字符串不行的。需要转换成JSON格式就可以的。所以,第二个参数类型如下:

$.ajax({

url:"http://www.kaigejava.com/xx/xx/task/add",

type:"post",

data:{data:JSON.stringify({

task:{

taskName:taskName,

taskDesc:taskDesc,

projectCode:projectCode

},

messages:[

{

groupId:groupId,

groupName:groupName,

groupType:0

}

]

})},

dataType:'json',

success:function(result){

console.log(result);

//添加成功后重新渲染页面

indexRender();

//清空模态框

$(".addForm")[0].reset();

//隐藏莫态框

$("#addModal").modal('hide');

}

})

那么,后台怎么接收这种数据格式的参数呢?

后台处理:

后台处理JSON的方式后很多种,可以使用JSONARRAY等很多方式。在这里凯哥习惯使用阿里巴巴的fastJson来处理。很方便的。可以使用其TestBean data = JSON.parseObject(taskStr, TestBean.class);方法之间将JSON转成实体。

我们根据前台传递的参数格式分析后可以得到需要三个实体对象。按照参数名称一个是data、一个是task、一个是messages。凯哥封装如下图:

其中TestBean对应的就是参数中data对象。内容如下:

task对象如下:

messages对象如下:

这样我们就封装成和参数数据格式一样的对象了。接下来直接使用fastJson的方法就可以转成对象了。如下图:

经过以上处理,就可以解析前台传递的复杂JSON数据格式了。在次说明,后台Java解析方式有很多种,这里凯哥只是使用了一种而已。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-11-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档