Grails资源插件和AJAX加载的JavaScript

前端之家收集整理的这篇文章主要介绍了Grails资源插件和AJAX加载的JavaScript前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我将 resources插件添加到1.3.7应用程序中,一切都可以正常运行,除了异步加载的JavaScript。

所以如果我有一个模板包含一个

<r:script>
    // javascript here
</r:script>

并通过ajax加载js代码不执行,我得到这个错误

It looks like you are missing some calls to the r:layoutResources tag

这是有道理的,因为页面已经呈现,并且没有r:layoutResources来处理新添加的r:script js代码

我找到的唯一的解决方法添加
在实时渲染(模板:…)之后,在异步呈现内容的控制器动作中渲染r.layoutResources(disposition:“defer”)。

还有其他更明确的解决方案吗?

更好的方法是为您的AJAX响应设置专门的布局:
<g:layoutBody/>
<r:layoutResources disposition="defer"/>

如果您使用Grails 2.0,可以在render方法中指定布局(render template:“…”,layout:“ajax”)。否则,按照惯例使用布局。

猜你在找的Ajax相关文章