Groovy Grails发送/接收变量

时间:2014-09-11 07:52:40

标签: javascript json grails groovy

不明白一些groovy grails细节。 我有控制器LogsController,我有logs.gsp和所有映射,所以当我尝试获取/ logs / applog - 获取logs.gsp或渲染中的一些数据。 所以问题是:我怎样才能返回变量?我想做那样的事情: 打开页面(日志/ applog) - > closure返回(呈现?)变量为JSON - > page logs.gsp获取该变量,使用javascript解析它并显示数据。 但如果我写

render var as JSON;

只获取JSON并且看不到页面logs.gsp 我怎么能这样做? 感谢。

1 个答案:

答案 0 :(得分:1)

render(view: 'logs', model: [var: var])会将变量var从控制器发送到logs.gsp。在gsp文件中,您可以使用$ {var}进行访问。所有这些都将在服务器端完成,因此您不需要JSONObject。

在您的情况下,如果您想获取JSON变量并使用javascript访问它:

  • 在gsp文件中,您需要一个ajax请求
  • 在控制器中,check ajax request。如果它是ajax请求,请执行render var as JSON将JSON对象返回给客户端。如果没有,请render(view: 'logs', model: [var: var])正常返回页面。