如何从 jQuery 发送数组并将其显示在 grails 控制器中?
Posted
技术标签:
【中文标题】如何从 jQuery 发送数组并将其显示在 grails 控制器中?【英文标题】:How to send array from jQuery and display it in grails controller? 【发布时间】:2015-04-04 00:37:07 【问题描述】:我在 jquery 中有一个包含 10 个数字的数组,名为“winnerList”,我使用 ajax 将它从 jquery 发送到 WinnerController:
$.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]
但我想要一个只有数字的结果,而不是我无法访问的这种类型的结构。有人可以帮忙吗?
【问题讨论】:
你的JS代码中winnerList
的值是多少?
我已经定义为winnerList=[];后来10个数字存储在里面
【参考方案1】:
发送时先将数组转成json:
...
data: "winnerList": JSON.stringify(winnerList) ,
...
然后在action中解析这个json:
def slurper = new JsonSlurper()
def result = slurper.parseText(params.winnerList)
【讨论】:
在这样做时,我得到了这样的价值 [[112],[12],[114]] 它类似于列表中的列表,所以如何只获取整数而不将其从括号中拆分出来?? 【参考方案2】:我为自己的问题找到了解决方案.... 在 jquery 中:
............
data: "winnerList": JSON.stringify(winnerList) ,
.......
在控制器中:
...............
def listWinnerIds= JSON.parse(params.winnerLists)
..............
这将给出列表中的值,如 [1,2,3]
【讨论】:
以上是关于如何从 jQuery 发送数组并将其显示在 grails 控制器中?的主要内容,如果未能解决你的问题,请参考以下文章