前一篇介绍了利用POI导出EXCEL的程序,基本都属于后端的程序,这个找网上的例子一大堆,
今天跟大家聊聊,导出的时候前台的访问方式有几种。
一般来说利用POI导出时, 前台如果是$ajax的方式的话会报错,程序返回后,前台程序会自动走到error的判断,返回报错,或者返回一大堆看不懂的东西,比如:
$.ajax({
cache: false,
async: true,
url:'../handle/baseinfo.ashx?ajaxaction=GetClassProductByFid', // 后台取
data: p.data,
dataType: 'json', type: 'post',
success: function (result) {
},
error: function (result, b) {
}
});
以上方式会报错。
第一种方式:
function itemclick(item)
{
var url="fee/downimpboxfee?bl_no="+str;
window.location.href = url;
//document.location.href=url;
}
前台传参数加到url当中,直接winows.localtion.href=url, 或者 document.locatio.hrf=url, 后台用spring mvc 的Controller接收就行,Controller制定GET方式获取数据。
这种方式的弊端就是参数很多的时候不是很方便。
第二种方式:
<form id="exportfeeform" action="fee/downmotorfee" method="post">
车队名称:<input id="motor_name" name="motor_name" type="text" />
时间段从:<input type="text" id="timefrom" name="timefrom"/>
<input type="text" id="timeto" name="timeto"/>
<input id="btnOK" type="button" value="button" οnclick="f_search()" />
</form>
或者:制定导出的按钮事件,在按钮事件中提交整个form表单,以form表单的参数提交。
制定导出的按钮事件,在按钮事件中提交整个form表单
function itemclick(item)
{
$('#exportfeeform').attr('action','fee/downmotorfee');
$('#exportfeeform').submit();
}
});
目前只研究出这两种方式,如果有其他更好的方式欢迎网友评论留言,共同研究。