Grails - 在JS方法中调用ajax之后的渲染页面

时间:2012-04-19 17:56:32

标签: ajax grails

尝试调用我的控制器中的一个方法,该方法实际上会呈现我所在的页面,以便显示更新。我需要在我的ajax调用中添加什么来调用grails方法?

我想要的流程是:

  • 在视图名单上
  • 选中复选框,点击actionSubmit,onclick转到JS函数,该函数对我控制器中的方法进行ajax调用。
  • 我的控制器上的呼叫updateInformation将更新所有选定的人
  • 通话结束后,我想更新我的观看名单。 (目前的流程 JS调用后结束)

roster.gsp:

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

我想在Controller中调用:

def roster() {
   [render stuff]
}

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

1 个答案:

答案 0 :(得分:1)

grails默认通过url路径解析映射,所以一旦你将controller.action替换为你的控制器和动作名称,后面应该得到你的controller.action:

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

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

def viewPage = {
    //
}

如果您不想更改呼叫,原始示例将调用updateNumbers控制器默认操作。 如果您要将原始通话映射到updateNumbers.viewPage,则可以在viewPage控制器中将默认操作设置为static defaultAction = "viewPage",如updateNumbers