在jquery中使用location="訪問的路徑";不能跳轉的問題

今天遇到的問題是這樣的,就是下面這部分代碼,訪問後臺一直不成功,將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"

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章