2

更新が表示されるように、基本的に現在のページをレンダリングするコントローラーのメソッドを呼び出してみてください。grails メソッドを呼び出すには、ajax 呼び出しに何を追加する必要がありますか?

私の希望の流れは次のとおりです。

  • オンビュー名簿
  • チェックボックスを選択し、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デフォルトのアクションをviewPageこのように設定できstatic defaultAction = "viewPage"ますupdateNumbers

于 2012-04-19T18:00:33.530 に答える