1. 程式人生 > >在JavaScript中使用GET方式提交請求,親測可用。。。

在JavaScript中使用GET方式提交請求,親測可用。。。

在使用jsp+Servlet做一個分頁效果時,遇到了JavaScript使用get方式傳送請求的問題,具體效果如下圖:
這裡寫圖片描述
點選轉到按鈕,呼叫js的函式,把頁碼引數傳給Servlet,Servlet接收的提交方式是get,所以想要在JavaScript中使用get提交,在網上找了很多方法,都是不行的(PS:很多部落格的文字篇幅很長,都很類似,而且都是一堆廢話,最重要的是試了都沒用,汗……)。
在翻看了JavaScript的API之後,發現JavaScript中的一個物件可以實現跳轉,Location 物件包含有關當前 URL 的資訊。該物件提供了三個方法:
assign() 載入一個新的文件
reload() 重新載入當前文件
replace() 用新的文件替換當前文件

使用第一個方法location.assign(url)就可以實現頁面跳轉了,而且是get方式提交。該物件除了提供頁面跳轉的方法之外,還提供了獲取當前頁面URl資訊的屬性:
hash 返回一個URL的錨部分
host 返回一個URL的主機名和埠
hostname 返回URL的主機名
href 返回完整的URL
pathname 返回的URL路徑名。
port 返回一個URL伺服器使用的埠號
protocol 返回一個URL協議
search 返回一個URL的查詢部分

具體實現的程式碼如下:

跳到<input id="page"
type="text" size="1"/>
<input type="button" onclick="pageGo()" value="轉到"> <script type="text/javascript"> function pageGo(){ var tp = "${pb.tp}";//獲取jsp中EL表示式的變數,總頁數 var page = document.getElementById("page").value;//獲取頁碼 if(Number(page)>0 && Number(page) <= tp){ var
path = location.pathname+"?pc="+page; location.assign(path);//提交URL } }
</script>