在我的grails应用程序中,我正在使用强大的资源插件来连接所有依赖项。当我正在进行ajax调用时,我总是使用<r:layoutResources disposition="defer"/>
来呈现所有脚本<r:script>...
和其他依赖项属性。
问题是如果我使用<r:require module="myModule"/>
并且模块指定了之前未加载的JS文件(当页面未加载时)。在AJAX调用之后,没有加载JS文件,或多或少的预期,因为在呈现页面时应该加载所有JS文件。
我的问题是如何妥善解决?我应该将我的r:require放到第一次请求期间呈现的gsp吗?或者有没有计划让r:在AJAX时需要处理“外部”JS文件?
谢谢, 刁
答案 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都能正常工作,你的所有模块也都可以。