下面是js里的一段点击导出按钮触发的事件,在path路径后面拼接了参数,然后提交表单:
//导出
$("#exportbutton").click(function(){
var path = ctx+'/except/exportExcel.action?startdate='+startdate+'&enddate='+enddate+'&state='+state;
$("#queryExceptForm").attr("action", path);
$("#queryExceptForm").submit();
});
后台的action给出这三个参数的setter getter方法了!
这种情况就会导致后台的每个参数的值都会被拼接两次,中间用逗号隔开。出现这种情况的原因就是js里的path路径后面拼接了参数,之后又提交了form表单,就会导致参数被重复提交到后台。
解决方法:
1、提交表单,不拼接参数:
$("#exportbutton").click(function(){
var path = ctx+'/except/exportExcel.action';
$("#queryExceptForm").attr("action", path);
$("#queryExceptForm").submit();
});
2、不提交表单:
$("#exportbutton").click(function(){
var path = ctx+'/except/exportExcel.action?startdate='+$("#startdate").val()+'&enddate='+$("#enddate").val()+'&state='+$("#state").val();
window.open(path);
});