我有一个数组,其中包含一个名为" winList"的jquery中的10个数字的数组。我使用ajax将它从jquery发送到WinnerController:
$.ajax({
url: "/demoapp/winner/winners",
type: "POST",
data: { "winnerList": winnerList },
success: function(data) {
alert("Successfully sent winnerList")
},
});
现在我在控制器内使用"获胜者"功能如:
def winners(){
print params
}
我的结果为:
[winnerList[0][]:076, winnerList[1][]:118,winnerList[2][]:102, .....winnerList[9][]:18, action:winners, format:null, controller:winner]
但我想要的结果只是数字而不是我无法访问的这种结构。有人可以帮忙吗?
答案 0 :(得分:12)
首先将数组转换为json:
...
data: { "winnerList": JSON.stringify(winnerList) },
...
然后在动作中解析这个json:
def slurper = new JsonSlurper()
def result = slurper.parseText(params.winnerList)
答案 1 :(得分:2)
我为自己的问题找到了解决方案.... 在jquery:
............
data: { "winnerList": JSON.stringify(winnerList) },
.......
在控制器中:
...............
def listWinnerIds= JSON.parse(params.winnerLists)
..............
这将给出像[1,2,3]
这样的列表中的值