我有一个问题。
我的前台是javascript,后端是Java(框架春季)
我尝试将json请求发布到Java控制器,但出现错误:
“ bean类[...]的无效属性'toto [tata]':属性
在索引属性路径“ toto [tata]”中引用的数组都不是
既不是列表也不是地图;”
我要包装的课:
Class Test {
Toto toto;
String var1;
}
Class Toto {
String tata;
}
@RequestMapping(..., method = RequestMethod.POST)
@ResponseBody
public jsonresponse testFunction(Test testrequest) { ... }
JavaScript方面:
ajax: {
"url": [url],
"type": "POST",
data: function (data) {
var newData = Object();
newData['var1'] = "it runs"
newData.toto[tata] = "it doesn't work"
return newData;
},
"dataSrc": function (returnedDataFromBackend) {
...
}
}
有人可以帮助我吗? :-)
谢谢
最佳答案
更换
newData.toto[tata] = "it doesn't work"
成为:
newData = {
"var1": "it runs",
"toto": {
"tata": "it doesn't work" // this string can be any value (data.variable1)
}
};
或者,您可以先将属性
newData.toto
初始化为{}
,然后向其中添加属性tata
:newData.toto = {};
newData.toto.tata = "it doesn't work"; // or any value you want (data.variable1)
当您创建
var newData = Object();
时,newData是普通的空对象{}
。然后,您尝试将属性tata
添加到newData对象内的不存在的属性toto
(因为它为空)。因此,您需要在空对象toto
内创建属性(对象)newData
,以便向其添加属性(字符串)tata
。
关于javascript - 以对象作为成员发布json请求对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53961241/