Post 使用 coffescript 的表格/ ajax 正在播放
Post forms with coffescript/ ajax in play
我尝试提交一个带有 coffeescript/ajax 的简单表格。但我做错了什么,无法弄清楚是什么。
我从创建问题的工作表开始(没有 ajax),然后是 Playframwork doc on javascript routing:
所以我首先在我的应用程序控制器中创建了路由器资源:
def javascriptRoutes = Action { implicit request =>
Ok(
Routes.javascriptRouter("jsRoutes")(
routes.javascript.Questions.create
)
).as("text/javascript")
}
在路线中添加:
GET /javascriptRoutes controllers.Application.javascriptRoutes
添加到我的模板:
<script type="text/javascript" src='@routes.Application.javascriptRoutes()'></script>
然后包含 coffescript:
$ ->
$('#save').on "click", (e) ->
jsRoutes.controllers.Questions.create.ajax
data: $('#questionForm').serialize()
success: (data) ->
alert("success")
error: (err) ->
alert("error")
#save 指向 link 并且 onclick 事件适用于简单的警报。 $('#questionForm').serialize() 似乎也输出正确的数据。
脚本什么都不做,我不知道如何使用 chrome javascript 调试器正确调试它,因为我不知道去哪里找。至少intellij
告诉我 Questions.create 永远不会被调用。
编辑:感谢 Infinity,我注意到 chrome javascript 调试器抛出:
Uncaught TypeError: jsRoutes.controllers.Questions.create.ajax is not a function(anonymous function) @ save.coffee:3m.event.dispatch @ jquery.js:4641m.event.add.r.handle @ jquery.js:4309
感谢 Infinity 和新的控制台错误输入,我注意到
jsRoutes.controllers.Questions.create.ajax
必须是
jsRoutes.controllers.Questions.create().ajax
我尝试提交一个带有 coffeescript/ajax 的简单表格。但我做错了什么,无法弄清楚是什么。 我从创建问题的工作表开始(没有 ajax),然后是 Playframwork doc on javascript routing:
所以我首先在我的应用程序控制器中创建了路由器资源:
def javascriptRoutes = Action { implicit request =>
Ok(
Routes.javascriptRouter("jsRoutes")(
routes.javascript.Questions.create
)
).as("text/javascript")
}
在路线中添加:
GET /javascriptRoutes controllers.Application.javascriptRoutes
添加到我的模板:
<script type="text/javascript" src='@routes.Application.javascriptRoutes()'></script>
然后包含 coffescript:
$ ->
$('#save').on "click", (e) ->
jsRoutes.controllers.Questions.create.ajax
data: $('#questionForm').serialize()
success: (data) ->
alert("success")
error: (err) ->
alert("error")
#save 指向 link 并且 onclick 事件适用于简单的警报。 $('#questionForm').serialize() 似乎也输出正确的数据。
脚本什么都不做,我不知道如何使用 chrome javascript 调试器正确调试它,因为我不知道去哪里找。至少intellij 告诉我 Questions.create 永远不会被调用。
编辑:感谢 Infinity,我注意到 chrome javascript 调试器抛出:
Uncaught TypeError: jsRoutes.controllers.Questions.create.ajax is not a function(anonymous function) @ save.coffee:3m.event.dispatch @ jquery.js:4641m.event.add.r.handle @ jquery.js:4309
感谢 Infinity 和新的控制台错误输入,我注意到
jsRoutes.controllers.Questions.create.ajax
必须是
jsRoutes.controllers.Questions.create().ajax