我有一个关于向播放控制器发送json数据的问题。
seach.scala.html
$.ajax({
type : "POST",
dataType: 'json',
data: {
'filter': "John Portella"
},
url : "@routes.Search.findPag()",
success: function(data){
console.log(data);
}
});
return false;
控制器: POST /find/findPag Search.findPag()
public static Result findPag(){
JsonNode json = request().body().asJson();
return ok();
}
调试我得到json = null。你认为哪个可能是问题? 感谢。
答案 0 :(得分:8)
您必须stringify数据。就像现在一样,我认为.toString()
将在数据对象上调用,而不是可以在服务器端正确解析为JSON的东西。
var d = { 'filter': "John Portella" };
$.ajax({
type : "POST",
dataType: 'json',
data: JSON.stringify(d),
url : "@routes.Search.findPag()",
success: function(data){
console.log(data);
}
});
答案 1 :(得分:2)
你必须" contentType"数据。
var d = { 'filter': "John Portella" };
$.ajax({
type : "POST",
dataType: 'json',
data: JSON.stringify(d),
contentType: "application/json; charset=utf-8",
url : "@routes.Search.findPag()",
success: function(data){
console.log(data);
}
});