我有一个使用 DataTables 1.9 的 Struts 2 应用程序。我现在尝试将其转换为 DataTables 1.10,这改变了将 HTTP 参数发送到服务器的方式。我现在正在尝试处理如下所示的 HTTP 参数:
列[1][数据]
我的 struts 操作中有一个名为“columns”的列表,其中包含一个具有“data”属性的对象。当操作触发时,没有任何内容被推送到列列表中。我知道通常我会使用以下方式发送这样的参数:
列[1].data
我深入研究了DataTables代码,发现它使用jQuery.param
来序列化DataTables创建的JS对象。我尝试将 ajax 请求上的“传统”参数设置为 true
,但随后我得到了 [object+Object]
作为参数值。
有人可以告诉我是否有办法执行以下操作之一:
- 让 Struts2 处理这个参数表示法
- 更改 jQuery 序列化这些参数名称的方式
DataTables 中有一个选项可以恢复到它发送的旧参数,但似乎这可能不会永远存在,我更愿意让它使用新的参数结构。
最佳答案
以下格式的参数columns[1]['data']
(注意data
周围的'
)实际上可以在Struts2中使用。因此,您可以尝试调整序列化过程以向参数添加额外单引号。
但看来你可以发送 JSON string from DataTables ,这是一种更好的处理方式,而不是搞乱参数序列化。
还有struts2-json-plugin
它可以从 JSON 字符串填充操作变量。
关于jquery - Struts2 jQuery DataTable 1.10 多维 Http 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27828138/