今天遇到的问题是这样的,就是下面这部分代码,访问后台一直不成功,将location换成window.open()访问就能访问.
<head>
<script language="javascript">
function exportExcel(){
//获取所有选中的复选框,进行遍历,返回每一个value的值,使用逗号进行隔开
var map = $("input:checkbox:checked").map(function(index,elem) {
return $(elem).val();
});
var cpids = map.get().join(',');
var date = "${list[0].dates}";//获取需要导出的数据的日期,传递到后台进行条件查询
//此时使用location的时候不能跳转到后台去
location="${pageContext.request.contextPath}/dataIndex/exportExcelAll?date="+date+"&cpids="+cpids;
//open()方法却可以访问后台
//window.open("${pageContext.request.contextPath}/dataIndex /exportExcelAll?date="+date+"&cpids="+cpids);
}
</head>
<body>
<form name="selfse" action="">
<table width="90%" align="center">
<tbody><tr>
<td align="right">
<!--点击按钮,访问exportExcel()方法-->
<button onclick="exportExcel()">合并导出</button>
</td>
</tr></tbody>
</table>
</form>
</body>
最后发现是我的点击按钮在一个form表单里,当按钮没有指定按钮类型的时候,在表单里默认是submit类型,所以在每次点击的时候它并没有访问jquery中的路径,而是submit表单的action路径,所以不能访问
解决办法1,直接删除form表单
2,在button按钮的type属性上添加button类型type="button"