播放框架 - 表单不绑定到嵌套元组
Play Framework - Form not Binding to Nested Tuples
我创建了一个表单来绑定到数据表请求:
val datatableForm = Form(
tuple(
"draw" -> number,
"start" -> number,
"length" -> number,
"search" -> tuple(
"value" -> text,
"regex" -> boolean
),
"columns" -> seq(tuple(
"data" -> number,
"name" -> text,
"orderable" -> boolean,
"search" -> tuple(
"value" -> text,
"regex" -> boolean
)
)
),
"order" -> seq(tuple(
"column" -> number,
"dir" -> text
)
)
)
)
在我的要求中,我打电话给val form = datatableForm.bindFromRequest
.这适用于draw
、start
和length
变量,但对于search
、columns
和order
变量则失败。例如,当我不使用嵌套元组时,我可以调用datatableForm.bindFromRequest.get
,它将返回一个Some
对象,但是当我添加嵌套元组并调用get
时,它会返回一个None
对象。
从数据表 javascript 对象发送的数据是:
{
"draw": 1,
"columns": [
{
"data": 0,
"name": "",
"searchable": true,
"orderable": true,
"search": {
"value": "",
"regex": false
}
},
{
"data": 1,
"name": "",
"searchable": true,
"orderable": true,
"search": {
"value": "",
"regex": false
}
}
],
"order": [
{
"column": 0,
"dir": "asc"
}
],
"start": 0,
"length": 10,
"search": {
"value": "",
"regex": false
}
}
这是请求正文中的数据:
Map(draw -> ArrayBuffer(1), columns[0][data] -> ArrayBuffer(0), columns[0][name] -> ArrayBuffer(), columns[0][searchable] -> ArrayBuffer(true), columns[0][orderable] -> ArrayBuffer(true), columns[0][search][value] -> ArrayBuffer(), columns[0][search][regex] -> ArrayBuffer(false), columns[1][data] -> ArrayBuffer(1), columns[1][name] -> ArrayBuffer(), columns[1][searchable] -> ArrayBuffer(true), columns[1][orderable] -> ArrayBuffer(true), columns[1][search][value] -> ArrayBuffer(), columns[1][search][regex] -> ArrayBuffer(false), order[0][column] -> ArrayBuffer(0), order[0][dir] -> ArrayBuffer(asc), start -> ArrayBuffer(0), length -> ArrayBuffer(10), search[value] -> ArrayBuffer(), search[regex] -> ArrayBuffer(false))
如何让表单绑定到嵌套元组?
我看到了同样的错误。问题是请求未按json
发送。确保将contentType
设置为 json
。
如果您使用的是jQuery,则文档位于此处,介绍如何执行此操作。
本质上是这样的:
$.ajax({
type: "POST",
url: youUrl,
data : data,
contentType: "application/json"
});
相关文章:
- D3嵌套组作为x轴
- 从多维嵌套json数组创建下拉列表
- 如何通过json对象数组为嵌套对象赋值
- 为循环嵌套的Javascript未按预期返回数组
- 具有嵌套对象数组的 Javascript 对象的递归搜索函数
- 将js对象更改为使用嵌套的可观察数组敲除js视图模型
- MongoDB嵌套对象数组后查询
- 从对象数组中动态创建嵌套json
- 使用Angular.js解析JSON中的嵌套对象数组
- JavaScript:在嵌套循环中为数组赋值
- 使用嵌套AJAX调用的响应填充数组
- 如何将id数组与带下划线的对象数组嵌套属性进行比较
- 将JS对象数组转换为嵌套形式的最有效方法
- 在javascript/angular中创建播放列表(按值复制数组,但按引用设置嵌套对象)
- 嵌套/同心组和mouseenter/mouseleve
- 嵌套捕获组结果
- 播放框架 - 表单不绑定到嵌套元组
- 遍历嵌套到组和节中的一组输入
- JS基于两个嵌套元素数组的比较返回数组
- js嵌套列表,由具有父关系的单个元素数组组成