上下文:我有一个搜索页面,它从一个数据库表中检索数据,并使用一堆 jquery 插件和一些书面代码将其显示为数据透视表。
我想要做的:将两个源导出到excel,原始数据和被处理的数据。
一些代码:
$('#btn-apply').click(function() {
params = buildParams(); //-> json object structure
$.ajax({
url: '<%= pivot_apply_path%>',
type: "GET",
dataType: "html",
data: params,
success: function(result) {
json.source = $.parseJSON(result); //-> original json response and data from acctiverecord
json.pivot = pivot(json.source.data, params.rows, params.columns, {}); //-> treated data to another json
html = tableGeneration(json.pivot); //-> generate a table from the treated json and show it
}
});
});
这一切都很好,但现在的挑战是:
- 单击一个按钮,发送源 json,并使用此数据检索和 excel
- 单击一个按钮,发送数据透视 json,并使用此数据检索和 excel
我做了什么:
- 将源 json 都传递给控制器并像这样接收
def 导出表
@records = params respond_to do |format| format.xls end
结尾
我已经有一个视图 export_source.xls.erb,这是我之前用来导出 xls 的技术,所有格式都可以正常工作。问题是对json调用的响应......
$('.export-table').click(function(e) {
$.ajax({
url: '<%= pivot_export_table_path%>',
type: "POST",
dataType: "xls",
data: { data: json.pivot },
success: function(result) {
//<-
},
error: function (request, status, error) {
showMessage('error', error); //<- ENDS UP HERE
}
});
});
由于这不是回发链接,所以它不会回发我的 xls,更糟糕的是,它甚至没有输入我的 ajax 成功,它直接导致描述错误No conversion from text to xls
建议?