【发布时间】:2013-02-10 20:01:07
【问题描述】:
我是新手,我正在尝试使用 JQuery 将表单数据发布到我的 Play Action。但是,我收到了来自 Action 的“预期的 json”响应。我检查 HTTP 标头以确保数据正在发送,并且确实如此,我哪里出错了,我该如何解决。(有没有更好的方法)
脚本:
$(document).ready (function (){
$("form").submit (function (e) {
e.preventDefault();
$.post("/save",$(this).serialize(),function (data){
alert(data);
});
});
});
动作
public static Result save()
{
JsonNode json = request().body().asJson();
if (json == null)
return ok("expected json");
else
{
String value = json.findPath("video").getTextValue();
if (value == null)
return ok("did not find");
else
return ok(value) ;
}
}
路线
POST /save controllers.Application.save()
【问题讨论】:
-
您没有向服务器发送 JSON。
-
您发送的是经典表单参数,而不是 Json。这是一个 Jquery 问题,与 playframework 无关。搜索“jquery 将表单序列化为 json”以获取更多详细信息。或者只是在控制器中处理表单数据。
-
@JulienLafont & dfsq - 请用 JSON 的表单序列化示例给出答案(不是评论)。
-
非常感谢大家的帮助
-
在输入编辑描述时,我不小心按了回车键而不是退格键,它应该是“重新标记,将 java 更改为 JavaScript”。也许你应该阅读 JavaScript 的标签 wiki。
标签: java javascript jquery json playframework-2.0