2

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

我想要的流程是:

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

名册.gsp:

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

我想调用控制器:

def roster() {
   [render stuff]
}

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

1 回答 1

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,可以在控制器中将默认操作设置为viewPagelike this 。static defaultAction = "viewPage"updateNumbers

于 2012-04-19T18:00:33.530 回答