记录一次奇葩的ajax向后台传送数据
- 工作小总结
- 时间:2017-11-18 09:18
- 4018人已阅读
🔔🔔🔔好消息!好消息!🔔🔔🔔
有需要的朋友👉:联系凯哥
前言 :
ajax向后台传送数据,在正常不过的了。一般都是一些比较简单的,比如一个简单的实体对象,通过JSON格式数据传送后,可以直接封装到对象中。可是在工作中,有时候我们遇到的并非传递简单对象格式。本文是记录一次帮朋友的过程。
请点击此处输入图片描述
声明:本文由凯哥Java(www.kaigejava.com)发布在UC自媒体上。
正文:
我们先来看看传送数据:
后台需要的数据格式:
data={"task":{"taskName":"q1","taskDesc":"q1","projectCode":"demo"},"messages":[{"groupId":1,"groupName":"EE","groupType":0}]}
就是一个对象里面嵌套了一个对象和一个数组。
将这些参数JSON格式化后就更清晰了:
{
"task": {
"taskName": "q1",
"taskDesc": "q1",
"projectCode": "demo"
},
"messages": [
{
"groupId": 1,
"groupName": "EE",
"groupType": 0
}
]
}
如下图:
这样更容易看出数据结构了。
既然后台一定需要这种格式的数据,我们怎么处理呢?
思考:
1:一个对象中嵌套一个对象,需要获取到嵌套对象的属性怎么处理?
2:数组中怎么获取第一个元素中的属性呢?
从Java程序设置分析,解决第一个问题:java中可以使用对象.属性名称。
所以1的解决为:"task.taskName":'q1'
那数组中呢?肯定是先获取到下标所在的对象,然后再获取其属性。
2的解决为:"messages[0].groupId":1
所以,根据分析我们得到最终的参数为:
var param = {"task.taskName":'q1',"task.taskDesc":'a',"task.projectCode":'demo'
,"messages[0].groupId":1,"messages[0].groupName":"EE","messages[0].groupType":10};
如下图:
经过分析,封装之后,请求传递到后台,就可以了。
这是一种方案,还有一个种方案,我们下一篇文章讲解。同时还会讲解后台Java程序怎么接收这种数据封装。