我不是在寻找div更新。我正在寻找整页“刷新”
所以我有一个标签:
<g:remoteField controller="person" action="updatePerson" id="${personInstance.id}" paramName="search" name="updatePerson" value="${personInstance?.favoriteBreed}" />
在我的附加方法中,我想执行更新域对象的操作,然后刷新整个页面。我已经尝试了渲染和重定向到应用程序中的简单操作,但没有任何调用。所以我认为使用remoteField标签是不可能的。
这是真的吗?
答案 0 :(得分:0)
<g:remoteField />
拥有可用于执行您想要的事件onSuccess
。您可以查看更多选项here。
尝试(未测试):
<g:remoteField controller="person" action="updatePerson"
id="${personInstance.id}" paramName="search" name="updatePerson"
value="${personInstance?.favoriteBreed}" onSuccess="reloadPage()" />
您需要创建javascript函数:
function reloadPage() {
window.location.reload();
}
答案 1 :(得分:0)
为什么要通过AJAX重新实现页面的正常行为?你为什么不在被叫控制器的末尾调用重定向到正确的动作?
假设您处于由showPerson操作导致的视图中。在这个视图中,使用一个简单的调用updatePerson(不关心params属性,它只是一个例子):
<g:Link controller="person" action="updatePerson" id="${personInstance.id}" params="${name: 'search'}">click me</g:link>
并在控制器中执行以下操作:
def updatePerson = {
// your own updating stuff
redirect(action: "show", id: person.id)
}
不是更容易吗? :)