我正在尝试将一些数据发送到 servlet,然后从中取回.xls
文件。为了做到这一点,我正在使用 jquery,但我遇到了一些奇怪的问题。让我解释。
以下是我如何将数据发送到 servlet 以及我应该如何取回生成的文件:
jQuery.download = function(url, data, method){
//url and data options required
if( url && data ){
//data can be string of parameters or array/object
data = typeof data == 'string' ? data : jQuery.param(data);
//split params into form inputs
var inputs = '';
jQuery.each(data.split('&'), function(){
var pair = this.split('=');
inputs+='<input type="hidden" name="'+ pair[0] +'" value="'+ pair[1] +'" />';
});
//send request
jQuery('<form action="'+ url +'" method="'+ (method||'post') +'">'+inputs+'</form>')
.appendTo('body').submit().remove();
};
};
download = function () {
var a = this.mainData();
var b = JSON.stringify(a);
console.log(b);
what = "test",
obj = $.extend({WrJOB: "xlsExport", mainData: b}, tJS.getCommonPostData());
var data = $.param(obj); //.replace(/\+/g, '%20'); its just a test
$.download('/myapp/AppProxy', data);
},
我的 html 中的一个按钮正在调用download
向 servlet 发送一些 JSON 数据的函数。就我而言,它是var b
。
我很确定存在编码问题,但我不知道如何解决它。
请帮我解决这个奇怪的问题,我已经为此工作了很多小时,但找不到解决方案。