0

JavaScript ルートを介して AngularJS インターフェイスから Application.java コントローラーにデータをポストしようとしています。

app/controllers/Application.java に javascriptRoutes() を作成しました。

public static Result javascriptRoutes() {
    response().setContentType("text/javascript");
    return ok(
        Routes.javascriptRouter("jsRoutes",
            controllers.routes.javascript.Application.duplicateSheet()
        )
    );
}

アセット/パブリック ルートの前に来るようにルートを設定しました。

POST  /sheet/duplicate/    controllers.Application.duplicateSheet()
GET   /assets/javascripts/routes    controllers.Application.javascriptRoutes()

# Map static resources from the /public folder to the /assets URL path
GET     /assets/*file               controllers.Assets.at(path="/public", file)

そして、JS コントローラーで duplicateSheet() 関数を呼び出そうとしています:

jsRoutes.controllers.Application.duplicateSheet().ajax({
        data: {
            newSheet: newSheet,
                includeData: includeData
        }
});

duplicateSheet() を実行しようとすると、コンソールに次のエラーが表示されます。

POST http://localhost:9000/sheet/duplicate/ 500 (Internal Server Error) 

これは、jsRoutes は機能するが、'/sheet/duplicate/' ルートが存在しないことを示していますか? ルートについて他に見逃しているものはありますか?

4

1 に答える 1