左手抓右手

右手加左手

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

直接贴代码吧

$("#btn-export").click(function(){
    var exportExcel = "export_excel";
    dataParams[exportExcel] = 1;
    var params = $.param(dataParams);
    var url = host+"&"+params;
    $('<form method="post" action="' + url + '"></form>').appendTo('body').submit().remove();
    delete dataParams[exportExcel];
});

 

简单说明一下:

使用情形:ajax请求服务端,返回json数据,出现的新需求是要把返回的json导出为excel表格。

上述代码中,dataParams为ajax的请求参数,是在前面定义的Object类型的对象,因为请求参数不固定,所以将请求参数都放到对象里面了。

我们知道,ajax请求服务器,是不能返回excel表格的(这个我不确定,如果读者有办法导出,请帖出办法,我们共同学习),我们需要把请求转换为页面请求,即转换为form表单发送请求,这样就可以把数据导出为表格了,也就有了下面的代码:

$('<form method="post" action="' + url + '"></form>').appendTo('body').submit().remove();

为了保证页面的干净整洁,在发送完请求后,将本次提交请求的form表单从页面中移除。

 

posted on 2015-09-16 19:22  yansj1997  阅读(15965)  评论(1编辑  收藏  举报