2014-09-11 49 views
0

不理解一些groovy grails的細節。 我有控制器LogsController,我有logs.gsp和一切映射,所以當我嘗試獲取/日誌/ applog - 獲取logs.gsp或從渲染一些數據。 所以問題是:我怎樣才能返回一個變量?我想這樣做: 打開頁面(日誌/ applog) - >封閉返回(呈現?)變量爲JSON - >頁面logs.gsp獲取該變量,解析它與JavaScript和顯示數據。 但如果我寫Groovy Grails發送/接收變量

render var as JSON; 

想起來了JSON並沒有看到頁面logs.gsp 我怎樣才能做到這一點? 謝謝。

+0

它不是*發送*任何地方) – injecteer 2014-09-11 10:02:50

回答

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對象返回給客戶端。如果不是,請按照正常情況返回頁面。
+0

但不是模型= [var:var],只有模型:[var:var] 謝謝! – Gwalk 2014-09-11 08:52:37

+0

我更正了我的答案 – hakuna1811 2014-09-11 10:00:59