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

Uts*_*ane 3 ajax jquery grails

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

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

现在我在控制器内使用"获胜者"功能接收它:

def winners(){
    print params
}
Run Code Online (Sandbox Code Playgroud)

我得到的结果如下:

[winnerList[0][]:076, winnerList[1][]:118,winnerList[2][]:102, .....winnerList[9][]:18, action:winners, format:null, controller:winner]
Run Code Online (Sandbox Code Playgroud)

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

Sam*_*mir 12

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

...
data: { "winnerList": JSON.stringify(winnerList) },
...
Run Code Online (Sandbox Code Playgroud)

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

def slurper = new JsonSlurper()
def result = slurper.parseText(params.winnerList)
Run Code Online (Sandbox Code Playgroud)