grails简单重定向不起作用

时间:2013-03-22 17:03:30

标签: grails redirect show

是的,我似乎做得对,它很简单,真的不应该有任何遗漏,但对于我的生活,我不明白为什么它不起作用,我的列表视图上有一个远程链接像因此: -

<g:remoteLink action="makeReady" id="${testExecQueueInstance.id}">X</g:remoteLink>

此时makeReady为空,除了我希望它显示所选行,因此控制器只有这个: -

def makeReady(Long myid){
    redirect(action:"show", id:myid)
}

这个节目动作是沼泽标准节目,只有Lond被传递才能创造出来......

为什么这不起作用?我错过了什么笨拙明显的事情,我将在接下来的几天里踢自己?

1 个答案:

答案 0 :(得分:0)

<g:remoteLink发出ajax请求,您的页面已经呈现,服务器无法从中重定向,它已经显示。

有两种方法可以让它发挥作用:

  • 使用标准链接
  • 使用JSON / Javascript进行响应,并在客户端进行重定向。

对于第二种选择,它将类似于:

<div id="success"></div>
<g:remoteLink action="makeReady" id="${testExecQueueInstance.id}" update="success">X</g:remoteLink>

def makeReady(Long myid){
  String url = createLink(action:"show", id:myid)
  render(text: "window.location.href='${url.encodeAsURL()}'", contentType: "application/javascript")
}