如何从 jQuery 发送数组并将其显示在 grails 控制器中?

How to send array from jQuery and display it in grails controller?

我有一个数组,其中包含 jquery 中的 10 个数字的数组,名为 "winnerList" 我将它从 jquery 发送到 WinnerController 使用 ajax 作为 :

$.ajax({
    url: "/demoapp/winner/winners",
    type: "POST",
    data: { "winnerList": winnerList },
    success: function(data) {
        alert("Successfully sent winnerList")
    },
});

现在我使用 "winners" 函数在控制器内部接收它:

def winners(){
    print params
}

我得到的结果是:

[winnerList[0][]:076, winnerList[1][]:118,winnerList[2][]:102, .....winnerList[9][]:18, action:winners, format:null, controller:winner]

但我想要的结果只是数字,而不是我无法访问的这种类型的结构。有人可以帮忙吗?

发送时首先将数组转换为json:

...
data: { "winnerList": JSON.stringify(winnerList) },
...

然后在动作中解析这个json:

def slurper = new JsonSlurper()
def result = slurper.parseText(params.winnerList)

我找到了自己问题的解决方案.... 在 jquery:

............
data: { "winnerList": JSON.stringify(winnerList) },
.......

在控制器中:

...............
def listWinnerIds= JSON.parse(params.winnerLists)
..............

这将给出列表中的值,如 [1,2,3]