0

我不是在寻找 div 更新。我正在寻找整页“刷新”

所以我有一个标签:

<g:remoteField controller="person" action="updatePerson" id="${personInstance.id}" paramName="search" name="updatePerson" value="${personInstance?.favoriteBreed}" />

在我附加的方法中,我想执行更新域对象的操作,然后刷新整个页面。我已经尝试过渲染和重定向到应用程序中的简单操作,但没有调用任何内容。所以我认为这对于 remoteField 标签是不可能的。

这是真的?

4

2 回答 2

0

<g:remoteField />onSuccess有可以用来做你想做的事情的事件。您可以在此处查看更多选项。

尝试(未测试):

<g:remoteField controller="person" action="updatePerson" 
    id="${personInstance.id}" paramName="search" name="updatePerson"    
    value="${personInstance?.favoriteBreed}" onSuccess="reloadPage()" />

您将需要创建 javascript 函数:

function reloadPage() {
  window.location.reload();
}
于 2012-09-05T14:20:18.760 回答
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)
}

不是更容易吗?:)

于 2012-09-05T17:09:10.257 回答