Grails - 如何使用 ajax 加载模板?

Posted

技术标签:

【中文标题】Grails - 如何使用 ajax 加载模板?【英文标题】:Grails - how to load a template using ajax? 【发布时间】:2016-11-21 17:38:27 【问题描述】:

这是我到目前为止所做的:

$(document).ready(function()    
    $("#botao").click(function (ev) 
        ev.preventDefault();        
        var loading = new Image();
        loading.src = "images/spinner.gif"        
        $.ajax(
            type: 'POST',
            url: "index.gsp",
            data: <missing>,  
            beforeSend: function()
                $("#divForm").html(loading);
            ,
            success: function(data)
                $("#divForm").html(data);
            ,            
        );
    );
);

如何使用按钮传递我的模板以将其加载到名为#divForm 的 div 中?

谢谢!

【问题讨论】:

【参考方案1】:

我猜你试图在#divForm Id 中加载 index.gsp 页面,所以我编写了这个简单的 ajax 代码。

#.在下面的代码中包含controllerName的地方你需要放你自己的controller Name。

      $(document).ready(function()    
           $("#botao").click(function (ev)    
              $.ajax(
                    url: "$createLink(controller: 'controllerName', action: 'form')",
                    type: "post",
                    dataType: 'text',
                    success: function (data) 
                        $("#divForm").html(data);
                    
                 );
              );
           );

【讨论】:

我没有尝试在#divForm中加载index.gsp,index.gsp是div所在的页面,我要加载的是一个名为_form.gsp的模板跨度> 没错,如果您想在索引页面中加载 _form.gsp。您需要在控制器中创建操作名称[操作名称和您的模板名称可能相同]。 这个控制器应该做什么?你能举个例子吗?

以上是关于Grails - 如何使用 ajax 加载模板?的主要内容,如果未能解决你的问题,请参考以下文章

如何将部分模板加载到grails中的div中

Grails 不会将变量传递给嵌套模板

在 Grails 中通过 AJAX 渲染模板

Grails JQuery Ajax 表单验证

在 Oro 平台上使用 Ajax 加载模板时如何触发页面组件事件?

Grails:request.JSON 是从哪里来的,我如何用 jQuery 的 .ajax() 或 .post() 把东西放在那里?