Abd*_*UMI 2 javascript grails rendering
我想将一些 JS 脚本从控制器发送到 GSP 视图。我做了以下尝试。
控制器(购买.groovy):
def myaction={
flash.script= 'jQuery("div#header").show(1000);'
redirect(action:'edit')
}
Run Code Online (Sandbox Code Playgroud)
在purchase/myaction.gsp文件中,我尝试以下代码
<g:if test="${flash.script !=null}">
<g:javascript>
$(function() {
${flash.script}
})
</g:javascript>
</g:if>
<g:else>
<g:javascript>
$(function() {
alert('Welcome')
})
</g:javascript>
</g:else>
Run Code Online (Sandbox Code Playgroud)
我也尝试:jQuery.getScript('${flash.script}')
而不是'${flash.script}'
然而,GSP 页面总是呈现第二个脚本(else 语句)
首先,一定要在dom加载后调用该函数;你可以像使用 jquery
$( document ).ready(function() {
call_function();
});
Run Code Online (Sandbox Code Playgroud)
并且您可以将 js 代码表单控制器作为地图发送,而不是通过 flash 和重定向到另一个动作。见下文:
def myaction={
redirect(action:'edit', customJs: 'jQuery("div#header").show(1000);')
}
def edit={
render view: 'someView', model:[customJs: customJs]
}
Run Code Online (Sandbox Code Playgroud)
并认为:
<g:javascript>
$(function() {
<%= customJs %>
})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
970 次 |
最近记录: |