我正在尝试提取ajaxly发送的post参数($.ajax(...))使用DynamicForm:
new DynamicForm().bindFromRequest()我得到了这个错误:
Caused by: java.lang.RuntimeException: There is no HTTP Context available from here.
at play.mvc.Http$Context.current(Http.java:27) ~[play_2.9.1.jar:2.0.4]
at play.mvc.Controller.request(Controller.java:28) ~[play_2.9.1.jar:2.0.4]
at play.data.Form.requestData(Form.java:87) ~[play_2.9.1.jar:2.0.4]
at play.data.DynamicForm.bindFromRequest(DynamicForm.java:46) ~[play_2.9.1.jar:2.0.4]
at controllers.Login$$anonfun$login$1.apply(Login.scala:19) ~[classes/:2.0.4]
at controllers.Login$$anonfun$login$1.apply(Login.scala:18) ~[classes/:2.0.4]如果我尝试将params绑定到一个映射的范式,它会起作用:
val form = Form(
tuple(
"identity" -> nonEmptyText,
"password" -> nonEmptyText,
"loginType" -> nonEmptyText
)
)
form.bindFromRequest这对我的登录ajax帖子很有帮助。但对于我的其他ajax帖子,我仍然希望使用DynamicForm和MapString,String。你知道问题出在哪里吗?
发布于 2013-07-27 10:12:27
我的开发团队和我也有同样的问题。在我们的示例中,我们使用Java语言、java.util集合包和以下代码行将请求参数绑定到映射。
final Map<String, String[]> myForm = request().body().asFormUrlEncoded();我不知道Scala,但我认为有一种方法可以在Scala中使用Java集合。
https://stackoverflow.com/questions/14436695
复制相似问题