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

标签 javascript jquery grails

我是 grails 的新手,找不到解决方案。

每当单击“创建客户端”时,我都想用部分模板 _client.gsp 的内容填充主要内容 div。

我有以下 gsp 页面 admin.gsp

<!DOCTYPE html>
<html>
  <head>
    <title>Admin Create</title>
<meta name="layout" content="main"/>
  </head>
  <body>
    <aside class="sidebar span3">

      <ul class="nav nav-list">
        <li class="nav-header">Admin Console</li>
        <li class="create-client"><a href="#">Create Client</a></li>
        <li><a href="#">Library</a></li>
      </ul>
    </aside>

    <div class="main-content span7">
    </div>

    <g:javascript src="admin.js"/>
  </body>
</html>

我有一个名为 _client.gsp 的部分模板

<g:hasErrors bean="${client}">
  <div class="alert alert-error alert-block client ">
    <g:renderErrors bean="${client}" as="list" />
  </div>
</g:hasErrors>
<g:form controller="admin" action="createClient">               
  <div class="row">
    <legend>Create Client</legend>
      <div class="span4">
        <label>Client Name:</label>
        <g:textField name="client.name" />
      </div>
      <div class="span4">
        <label>Client Type:</label>
        <g:textField name="clientType.type"/>
      </div>
      <div class="span4">
        <label>External Id:</label>
        <g:field type="number" required="" min="0" value="1" name="client.externalId"/>
      </div>
    </div>
  </div>    
</g:form>

我的 admin.js 看起来像这样

$(function(){
  $('.create-client').on('click', function(e){
    e.preventDefault();
    $('.create-client').addClass('active');
    $('main-content').load('_client.gsp');
  });
});

最佳答案

首先,创建一个为 AJAX 调用提供模板内容的 Controller :

class AdminController {
    def client() {
        render template: 'client',
            model: [...],
            contentType: 'text/plain'

    }
}

这会将 _client.gsp 的内容呈现为字符串,并以 text/plain 内容类型返回它。在您的 javascript 中,使用 load 调用它:

$('.main-content').load('/myapp/admin/client');

关于javascript - 如何将部分模板加载到grails中的div中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13258373/

相关文章:

javascript - 如何以编程方式从另一个网站抓取图像?

javascript - 如何在事件按钮旁边打开弹出窗口 - 如何获得鼠标光标位置 onclick?

javascript - 无法在浏览器中打开新标签页?

javascript - jQuery.animate 滚动问题

grails - 我将如何覆盖 taglib bean 中的方法?

javascript - 文本范围选择 MSIE

javascript - 动态内容的预加载器

Jquery ajax替换 '??'

windows - 如何使用命令行更改Grails版本?

unit-testing - Grails 2单元测试中的元类删除域方法