我正在尝试使用 Play!2.6 框架的嵌入式路由器,用于我的 Javascript 路由,如其文档中所示。我正在使用 Scala 版本并尝试通过 AJAX/jQuery 提交表单。
我已将它插入到我的 main.scala.html 模板中,该模板装饰了每个返回的脚本:
@helper.javascriptRouter("jsRoutes")(
routes.javascript.DashboardController.postNewProject,
routes.javascript.DashboardController.getSliderResponse
)
这是具有这些方法的控制器:
@Singleton
class DashboardController @Inject()(cc: ControllerComponents) extends AbstractController(cc) {
def postNewProject() = Action{ ... }
def getSliderResponse(str:String)= Action { ... }
}
我已经将它们连接起来Routes.conf
如下
POST /dashboard/projects controllers.DashboardController.postNewProject
GET /dashboard/projects/sliderSubmitResponse/:response controllers.DashboardController.getSliderResponse(response: String)
但是当我通过 AJAX 调用加载它时 - 我的控制台告诉我我收到了 404 错误。这是 AJAX:
$(document).on('submit', '.sliderForms', function (event) {
event.preventDefault();
var content = $('#projectTitleInputBox').val();
var content2 = $('#initNoteBox').val();
window.alert("Made it here at least" + content + ' ' + content2);
jsRoutes.controllers.DashboardController.postNewProject().ajax({
success: loadDoc('jsRoutes.controllers.DashboardController.getSliderResponse("newProjSuccess")', 'createNewProjectDiv'),
fail: loadDoc('jsRoutes.controllers.DashboardController.getSliderResponse("newProjFail")', 'createNewProjectDiv')
})
});
我收到 404 错误,因为它正在尝试检索此 URL:
http://localhost:9000/dashboard/jsRoutes.controllers.DashboardController.getSliderResponse("newProjSuccess")
http://localhost:9000/dashboard/jsRoutes.controllers.DashboardController.getSliderResponse("newProjFail")
所以我认为我的路由不正确,但不确定在哪里。