ajax - Grails将部分模板渲染为Div

标签 ajax grails

我有一个表单页面,用户可以在其中选择一个过滤器,页面底部的表格也会更新。表中的每一行在第一列中都有一个超链接,该超链接将一个订单项与数据库中的一个项目相关联。我没有使用GORM。

我需要能够通过AJAX(正在运行)将当前过滤器发送到 Controller 。然后,我需要渲染一个局部模板(到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?
    })

Controller :
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.
}

部分:

我还没有为此编写代码。现在,这只是一些随机文本,以查看当我按下按钮时是否可以加载模板

最佳答案

在您的 Controller 中:

render(template: 'selectionTable', model: table_data)

在您的GSP / HTML中,您需要使用$.get并使用以下命令:
$('#selection_table').html(data)

这应该够了吧!

关于ajax - Grails将部分模板渲染为Div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27046827/

相关文章:

javascript - AJAX 实时搜索不显示结果

mysql - Grails:当域类包含 'version false' 时,数据库行更新会静默失败

grails View 中未知数量的模型对象

grails - 在Spock中运行所有测试

jquery - 使用 ajax 和 jQuery 根据在 flask 中第一个下拉列表中选择的值填充第二个下拉列表

javascript - Js Serialize() 并将数据添加到数据库

javascript - jQuery .ajax() 访问 javascript 循环中的 beforeSend 局部变量

Grails RemoteFunction参数语法

tomcat - Grails 2.5.0 在部署到 tomcat 时不使用我的 lib/jars

javascript - 无法从javascript中的数据表服务器端调用CSS类