作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在 Controller 中检索从客户端(通过ajax)以JSON格式发送的复杂对象,但是我不知道如何从参数中获取转换了某些属性的 map 。
例如,假设这是“复杂的” JSON对象(元对象中的项目数是可变的,可以是1、2、3 ...,并且具有变量名):
{
language: "java",
meta: {
category: "category1"
}
}
[language:java, meta[category]:category1, action: register, controller: myController]
if (!params) params = {};
var url = this.urls.base+"/"+controller+"/"+action+"?callback=?";
if (params.callback)
url = this.urls.base+"/"+controller+"/"+action+"?callback="+params.callback;
url = url + "&_"+new Date();
delete params.callback;
$.ajax({
url: url,
data: params,
crossDomain:true,
dataType:'jsonp',
cache:false,
ajaxOptions: {cache: false},
jsonp: params.callback?false:true
});
最佳答案
在客户端,您必须使用POST方法发送数据,并配置jQuery以将其作为JSON发送。喜欢:
data = {
language: "java",
meta: {
category: "category1"
}
}
$.ajax({
type: 'POST',
data: JSON.stringify(data),
contentType: 'application/json',
})
request.JSON
的身份进入服务器端,参见docs:
http://grails.org/doc/2.2.0/ref/Servlet%20API/request.html
$.ajax({
data: {myjson: JSON.stringify(data)}
})
def myjson = JSON.parse(params.myjson)
关于grails - 如何从Grails Controller中的参数获取 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16685146/
我是一名优秀的程序员,十分优秀!