我有一个表单页面,用户在页面底部更新过滤器和表格。表中的每一行在第一列中都有一个超链接,它将行项与数据库中的项相关联。我没有使用GORM。
我需要能够通过AJAX(功能)将当前过滤器发送到控制器。然后我需要渲染一个部分模板(到div),它根据客户端的请求参数加载查询创建的数据。
GSP:
....
<button onClick="generate_table()" class="pure-button">Generate Table</button>
...
<div id="selection_table">This should load with data</div>
...
JS:
//Link for AJAX
var url = "${g.createLink(action:'generate_table', controller: "statusReports")}";
//The actual call
$.getJSON(url, {
period: JSON.stringify($("#period").val()),
...
...
}, function(data) {
$('#selection_table').empty();
}).done(function(data) {
//I need to load the template at this point?
})
控制器:
def generate_table(){
def table_data = statusReportsService.generate_titles(params)
// Table data is already a map
// What do I need to render here? The template is named _selectionTable.gsp and should use table_data to generate html.
}
部分:
我还没有为此编写代码。现在只是一些随机文本,看我是否可以在按下按钮时加载模板
答案 0 :(得分:1)
在您的控制器中:
render(template: 'selectionTable', model: table_data)
在您的GSP / HTML中,您需要使用$.get
并使用以下内容:
$('#selection_table').html(data)
这应该可以做到!