播放框架:帖子请求中的空体

时间:2015-06-29 15:15:53

标签: scala playframework playframework-2.3

西洛!我有以下代码:

def foo = Action { request =>
    Ok(request.body.asText.getOrElse("no body"))
}

在前端有这样的表格:

<form action="@controllers.routes.Application.foo()" method="POST">
    <input name="name" type="text">
    <input name="surname" type="text">
     <button type="submit">
</form>

如果我填写表单并单击“提交”,他们会给我结果:没有正文。 但是如果我将调试器中的刹车点添加到Ok(..),他们会告诉我,那个机构并不是好的。

AnyContentAsFormUrlEncoded(Map(name -> ArrayBuffer(123), surname -> ArrayBuffer(123)))

为什么,这不会给我的身体作为文字,或其他任何东西,以及我如何得到它们?

3 个答案:

答案 0 :(得分:3)

根据您的表单和调试输出,您应该使用asFormUrlEncoded

答案 1 :(得分:2)

您还需要以下内容:

<form ... enctype="text/plain">

指定有效内容是纯文本。然后.asText将起作用。

答案 2 :(得分:0)

您的内容类型可能不是text/plain。当内容类型为预期时,BodyParser将仅返回结果。

编辑:而不是asText尝试asRaw

相关问题