我正在努力发送包含对象作为成员属性的数据。
这是域类。
public class Timeline extends Post{
String picture;
User user;
int like;
...
(getters and setters)
}
我已经用此代码获取了JSON数据,因此可以从'obj'变量获取数据。
var obj;
$.ajax({
method: "GET",
dataType: "json",
url: serverRoot + "/json/auth/loginUser",
async: false
})
.done(function(data) {
obj = data;
});
返回的数据如下所示。
"user" : {
"userNo" : 1,
"name" : "user01",
...
}
下一个JSON数据是我想发送到服务器的数据。
{
"no" : 23,
"content" : "hihi",
"createdData" : "2018-07-22",
"picture" : null,
"user" : {
"userNo" : 1,
"name" : "user01",
... **obj JSON data I got above**
}
}
这是要发送到服务器的代码。 (这是我被困住的东西)
$("#sh-tl-post-btn").click(() => {
$.ajax({
type: 'POST',
url: '../../../json/timeline/add',
data: {
picture: $('#sh_tl_upload').val(),
content: $('#sh_tl_post_write').val(),
**user: [{"userNo":obj.userNo}]**
},
}).done(function() {
console.log("inserted.");
location.href = "timeline.html"
});
});
Mapper文件如下所示。
<insert id="insert" parameterType="Timeline">
<choose>
<when test="picture != ''">
insert into TML(tmlno, uno, tmlpath)
values(#{no}, #{userNo}, #{picture})
</when>
<otherwise>
insert into TML(tmlno, uno)
values(#{no}, #{userNo})
</otherwise>
</choose>
</insert>
我一直在寻找在这里写些什么,而不是 用户:[{“ userNo”:obj.userNo}] ,此...
我一直在尝试
user : {"userNo" : obj.userNo}
user.userNo : obj.userNo
user.[0].userNo : obj.userNo
...
但是控制台一直在说
[Request processing failed; nested exception is
org.springframework.beans.InvalidPropertyException:.....
这种错误。
有没有人可以帮助我如何通过Ajax绑定嵌套对象的属性 JSON数据?预先感谢。