Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在grails中将部分模板加载到div中_Javascript_Jquery_Grails - Fatal编程技术网

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

Javascript 如何在grails中将部分模板加载到div中,javascript,jquery,grails,Javascript,Jquery,Grails,我是grails新手,无法找到解决方案 每当单击CreateClient时,我都希望用部分模板_Client.gsp的内容填充主内容div 我有下面的gsp页面admin.gsp <!DOCTYPE html> <html> <head> <title>Admin Create</title> <meta name="layout" content="main"/> </head> <b

我是grails新手,无法找到解决方案

每当单击CreateClient时,我都希望用部分模板_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>

首先,创建一个控制器,为AJAX调用提供模板内容:

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

    }
}
这会将
\u client.gsp
的内容呈现为字符串,并以
文本/普通内容类型返回它。在javascript中,使用
load
调用此函数:

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

谢谢你,这正是我需要的。不过,我现在被另一个问题困住了。如果有错误,我将如何处理重定向回这个部分加载的视图?请看下面的答案:我错过了它。如果我在部分中提交表单,但表单无效(在控制器中保存失败),如何重新呈现加载了部分及其错误的页面。我认为这将是更多的javascript工作。我在grails中找不到任何允许我这样做的东西
class AdminController {
    def client() {
        render template: 'client',
            model: [...],
            contentType: 'text/plain'

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