1. 程式人生 > >form表單Get方式提交時,action中帶引數傳遞不了

form表單Get方式提交時,action中帶引數傳遞不了

form表單get方式提交時,action中帶引數傳遞不了

樣例:

<form action="getPostServlet/getPost.do?param4=param4" method="get"> 
	<input type="hidden" name="param1" value="param1"> 
   	<input type="hidden" name="param2" value="param2"> 
	<input type="text" name="param3" value="param3" readonly> 
	<input type="submit" name="button1" value="submit"> 
</form>

注意到表單中action:getPostServlet/getPost.do?param4=param4,這個action帶有一個引數param4。

1.如果用get方法提交,後臺無法接收到這個引數;
2.如果用post方法提交,後臺就可以接收到這個引數。

經查詢發現:

1.用get方法提交的url顯示如下:
http://localhost/mywebapp/getPostServlet/getPost.do?pram1=param1&pram2=param2&pram3=param3&button1=submit

也就是說method為get時action自己後邊帶的引數列表會被忽視,,後臺無法接收到這個引數,只能得到表單中的引數;

2.用post方法提交的url顯示如下:
http://localhost/mywebapp/getPostServlet/getPost.do?param4=param4

也就是說post方式提交表單,引數分為兩部分:一部分是action中的引數放在位址列;另一部分是表單中的引數放在請求的頭中;所以所有的資料後臺全部能獲得。

總結:

get: get請求方式的表單的action屬性中不能附帶任何引數,如果仍然想使用GET請求方式,可以在form表單中新增相應的隱藏文字域,例如:

<input name=”method” type=”hidden” value=”test”>

post: 採用post請求方式,在form中增加屬性method=”post”即可。