情况是:我有一个名为status的javascript bool变量。 如果是,我想渲染Grails模板。 如果它是假的,我想渲染另一个Grails模板。 我的代码:
HTML / JS
<div id="content">
<g:javascript>
$( function(){
if( status==true ) {
$.ajax({
url: '/tool/home/renderSplash',
type: 'POST',
failure: function(){alert("Failed loading content frame"})
}
else{
$.ajax({
url: '/tool/home/renderContent',
type: 'POST',
failure: function(){alert("Failed loading content frame")}
})
}
} )
</g:javascript>
</div>
的Grails:
class HomeController {
def index() {}
def renderSplash() {
render( template: "splash" )
}
def renderContent() {
render( template: "content" )
}
}
我可以看到,POST包含正确的模板数据,但没有带到屏幕上。
我这样做的方法是否正确?
答案 0 :(得分:4)
为您的AJAX调用添加成功处理程序以呈现结果。你需要一个占位符元素来渲染它。例如:
$.ajax({
url: '/tool/home/renderContent',
type: 'POST',
failure: function(){alert("Failed loading content frame")},
success: function(response) { $('#response').html(response); }
})
...
<div id='response'></div>