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()
        )
    );
}

我已经设置了我的路线,使其位于 assets/public 路线之前:

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

0

检查 Play logs/application.log(在运行 Play 应用程序进程的终端窗口中也可以看到相同的输出)后,我发现我发布到 duplicateSheet() 的 JSON 字符串格式错误并导致 Java 错误.

在解决了日志中发现的问题后,我能够让应用程序正确发布。

于 2013-06-12T14:21:41.637 回答