form表單Get方式提交時,action中帶引數傳遞不了
阿新 • • 發佈:2018-11-03
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”即可。