Grails资源插件 - 在AJAX时需要带有JS文件的模块

时间:2013-06-19 09:00:48

标签: grails grails-plugin grails-2.0

在我的grails应用程序中,我正在使用强大的资源插件来连接所有依赖项。当我正在进行ajax调用时,我总是使用<r:layoutResources disposition="defer"/>来呈现所有脚本<r:script>...和其他依赖项属性。

问题是如果我使用<r:require module="myModule"/>并且模块指定了之前未加载的JS文件(当页面未加载时)。在AJAX调用之后,没有加载JS文件,或多或少的预期,因为在呈现页面时应该加载所有JS文件。

我的问题是如何妥善解决?我应该将我的r:require放到第一次请求期间呈现的gsp吗?或者有没有计划让r:在AJAX时需要处理“外部”JS文件?

谢谢, 刁

1 个答案:

答案 0 :(得分:1)

创建一个布局ajaxInternal.gsp并输入如下内容:

<r:require module="gaScript" />
<r:layoutResources />
<g:layoutBody />
<r:layoutResources disposition="defer" />

在控制器的ajax动作中渲染:

render(template:"aTemplateIfRequired", model:[yourModel],layout:'ajaxInternalContentBox')

所以你的所有js都能正常工作,你的所有模块也都可以。