2012-04-19 44 views
2

尝试调用控制器中的方法,该方法基本上呈现我所在的页面,以便显示更新。我需要添加到我的ajax调用来调用grails方法?Grails - JS方法中的ajax调用后的呈现页面

我期望的流程是:

  • 上查看花名册
  • 选择复选框,打actionSubmit可以,去的onclick到具有一个AJAX调用在我的控制器的方法JS功能。
  • 在我的控制器updateInformation,将更新所有选定的人
  • 通话后,我想更新我的视图名册。 (目前流动 JS调用结束后)

roster.gsp:

$.ajax({ 
url: "updateInformation", 
type:"GET", 
data:{ids:JSON.stringify(idList), option:option, id:id} 
}); 

我想在控制器调用:

def roster() { 
    [render stuff] 
} 

def updateInformation() { 
    ... stuff ... 
} 

回答

1

Grails的默认通过URL路径解析映射,所以后面应该得到您的controller.action一旦您将其替换到您的控制器和操作名称:

$.ajax({ 
    url: "/$controller/$action", 
    type:"GET", 
    data:{ids:JSON.stringify(idList), option:option, id:id} 
}); 

此外,如果您使用的是下面grails2,你的控制器动作应该是一个封闭:

def viewPage = { 
    // 
} 

如果你不想改变呼叫,原来的例子进行调用updateNumbers控制器默认的动作。 如果您想将原来的呼叫映射到updateNumbers.viewPage,您可以在您的updateNumbers控制器中将static defaultAction = "viewPage"这样的默认动作设置为viewPage