2012-04-19 74 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