我试图将数据发送到从需要具有多层次的AJAX功能我的控制器,所以是这样的:解析Mulitlevel JavaScript对象Grails的2.1
{
"lob": {
"TESTING": [
{
"name": "color",
"value": "1"
},
{
"name": "time",
"value": "2"
},
{
"name": "jeremy",
"value": "3"
},
{
"name": "fourtytwo",
"value": "4"
},
{
"name": "owl",
"value": "5"
},
{
"name": "why",
"value": "6"
},
{
"name": "derp",
"value": "7"
},
{
"name": "where",
"value": "8"
}
]
}
}
但是当它发送到Grails的我得到这个当我打印出来的PARAMS
[lob[TESTING][4][value]:5,
lob[TESTING][3][name]:fourtytwo,
lob[TESTING][6][name]:derp,
lob[TESTING][5][name]:why,
lob[TESTING][3][value]:4,
lob[TESTING][1][value]:2,
lob[TESTING][2][value]:3,
lob[TESTING][5][value]:6,
lob[TESTING][1][name]:time,
lob[TESTING][0][value]:1,
lob[TESTING][6][value]:7,
lob[TESTING][0][name]:color,
lob[TESTING][7][value]:8,
lob[TESTING][4][name]:owl,
lob[TESTING][7][name]:where,
lob[TESTING][2][name]:jeremy,
action:save,
controller:LOB]
的数据,我从JavaScript发送:
{
lob: {
TESTING: $form.serializeArray()
}
}
我一直在阅读多个论坛,说使用JSON.parse或request.JSON,但这些解决方案似乎并没有解决我的问题。我希望能够获得像
params.lob.testing.each{ a->
println a
}
数据我会做很多不止这一点,但它会很高兴能够访问该地的数据。我正在使用Grails 2.1和Jquery 1.7.2
我试过这个,但我只是得到一个空的地图。例如'''request.JSON'''总是回来作为'''[:]''' – Howes 2012-07-16 15:57:02
为了扩大一点,我可以通过在发送数据之前使用数据的JSON.stringify()来使它工作来自客户端,但我正在寻找一种不需要包括Crockford的JSON2.js库的方式来支持IE。 – Howes 2012-07-16 18:28:34
Howes - 刚刚更新了我的答案,以包含可能有所帮助的功能。我在答案中指出的页面上找到了该函数的原作者。 – Kelly 2012-07-16 21:40:56