jQuery:使用jTable';s参数 简介

jQuery:使用jTable';s参数 简介,jquery,ajax,json,jquery-jtable,Jquery,Ajax,Json,Jquery Jtable,我正在使用jQuery和。我对这个jTable有一个过滤器:它是一个包含不同组件(复选框、jQuery UI日期选择器、滑块等)的大型表单。要在表中进行筛选,我将调用load函数: $('#table').jtable('load', { filter_param_1 : $('#some-form-component').val(), filter_param_2 : someTransformation($('#some-other-component').val()),

我正在使用jQuery和。我对这个jTable有一个过滤器:它是一个包含不同组件(复选框、jQuery UI日期选择器、滑块等)的大型表单。要在表中进行筛选,我将调用load函数:

$('#table').jtable('load', {
   filter_param_1 : $('#some-form-component').val(),
   filter_param_2 : someTransformation($('#some-other-component').val()),
   ...
});
在后端有一个servlet S1,它解析这个过滤条件并返回正确的JSON和jTable行,这非常有效

现在我需要将表数据导出到CSV,因为这个原因,我有一个不同的后端servlet S2,我可以发布导航到它。S2创建CSV数据并告诉浏览器将其作为文件下载-仍然可以

问题 我希望CSV导出尊重过滤器。我需要发送与jTable发送到S1到S2相同的数据,这样我就可以重用S2中S1的过滤逻辑

jTable发送此数据的方式是调用
$.ajax()
,并将JSON结构作为
数据
传递。jQuery处理从JSON到POST数据的转换,并执行AJAX请求

不幸的是,我无法对S2执行同样的操作-我需要在发送POST数据的同时将浏览器发送到S2-如果我只使用
$.ajax()
,浏览器将无法导航到S2

几乎是一个解决方案 所有组件都位于
中,我可以将其提交给S2。不幸的是,这样我就失去了所有的转换逻辑,我想重新使用它

这将是一个解决办法
如果我可以复制jQuery序列化JSON以发布数据的方式,我可能可以动态构建和提交表单,就像。那么jQuery是如何做到的呢?

我最终使用了这个序列化代码,处理这个序列化表单和来自
的任何内容的服务器端逻辑可以是相同的