欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

form表单Get方式提交时,action中带参数传递不了

程序员文章站 2022-10-08 19:05:57
  

<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
1
也就是说method为get时action自己后边带的参数列表会被忽视,,后台无法接收到这个参数,只能得到表单中的参数;

2.用post方法提交的url显示如下:
http://localhost/mywebapp/getpostservlet/getpost.do?param4=param4
1
也就是说post方式提交表单,参数分为两部分:一部分是action中的参数放在地址栏;另一部分是表单中的参数放在请求的头中;所以所有的数据后台全部能获得。

总结:
get: get请求方式的表单的action属性中不能附带任何参数,如果仍然想使用get请求方式,可以在form表单中添加相应的隐藏文本域,例如:

<input name=”method” type=”hidden” value=”test”>
1
post: 采用post请求方式,在form中增加属性method=”post”即可。

来源: