gpt4 book ai didi

jquery - 如何在 grails 2.0 中获取 JSON

转载 作者:行者123 更新时间:2023-12-02 15:13:26 29 4
gpt4 key购买 nike

我正在使用 jQuery 向自己发送 JSON:

$.ajax
({
type: "POST",
url: 'http://localhost:8080/myproject/myController/myAction',
dataType: 'json',
async: false,
//json object to sent to the authentication url
data: {"stuff":"yes",
"listThing":[1,2,3],
"listObjects":[{"one":"thing"},{"two":"thing2"}]},
success: function () {
alert("Thanks!");
}
})

我将其发送给 Controller 并执行
println params

而且我知道我已经有麻烦了...
[stuff:yes, listObjects[1][two]:thing2, listObjects[0][one]:thing, listThing[]:[1, 2, 3], action:myAction, controller:myController]

我无法弄清楚如何获得大多数这些值......

我可以用 params.stuff 得到"is",但我不能做 params.listThing.each{} 或 params.listObjects.each{}

我究竟做错了什么?

更新:

我让 Controller 这样做是为了尝试到目前为止的两个建议:
println params
println params.stuff
println params.list('listObjects')
println params.listThing
def thisWontWork = JSON.parse(params.listThing)
render("omg l2json")

当我尝试答案时,看看参数在空指针异常的末尾看起来多么奇怪:
[stuff:yes, listObjects[1][two]:thing2, listObjects[0][one]:thing, listThing[]:[1, 2, 3], action:l2json, controller:rateAPI]
yes
[]
null
| Error 2012-03-25 22:16:13,950 ["http-bio-8080"-exec-7] ERROR errors.GrailsExceptionResolver - NullPointerException occurred when processing request: [POST] /myproject/myController/myAction - parameters:
stuff: yes
listObjects[1][two]: thing2
listObjects[0][one]: thing
listThing[]: 1
listThing[]: 2
listThing[]: 3

更新 2 我正在学习东西,但这不可能是正确的:
println params['listThing[]']
println params['listObjects[0][one]']

打印
[1, 2, 3]
thing

这似乎是 grails 新 JSON 编码的一部分。这对于我修改这些值的目的有点不方便。我如何将所有这些单独的参数返回到嵌套 map 和列表的大型 groovy 对象中?

也许我没有用 jQuery 做我想做的事?

更新 jQuery 是问题: Grails: where does request.JSON come from, and how do I put things there with jQuery's .ajax() or .post()?

最佳答案

抱歉,如果 2.0 更改了此行为,但在 1.3.7 中,我使用以下内容解析 JSON 数据:

request.JSON.each {params  ->
...

试试这个。

关于jquery - 如何在 grails 2.0 中获取 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9863874/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com