首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >playframework ajax后提取post参数到DynamicForm

playframework ajax后提取post参数到DynamicForm
EN

Stack Overflow用户
提问于 2013-01-21 18:30:49
回答 1查看 470关注 0票数 2

我正在尝试提取ajaxly发送的post参数($.ajax(...))使用DynamicForm:

代码语言:javascript
复制
new DynamicForm().bindFromRequest()

我得到了这个错误:

代码语言:javascript
复制
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绑定到一个映射的范式,它会起作用:

代码语言:javascript
复制
  val form = Form(
    tuple(
      "identity" -> nonEmptyText,
      "password" -> nonEmptyText,
      "loginType" -> nonEmptyText
    )
  )
  form.bindFromRequest

这对我的登录ajax帖子很有帮助。但对于我的其他ajax帖子,我仍然希望使用DynamicForm和MapString,String。你知道问题出在哪里吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-27 10:12:27

我的开发团队和我也有同样的问题。在我们的示例中,我们使用Java语言、java.util集合包和以下代码行将请求参数绑定到映射。

代码语言:javascript
复制
final Map<String, String[]> myForm = request().body().asFormUrlEncoded();

我不知道Scala,但我认为有一种方法可以在Scala中使用Java集合。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14436695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档