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

关于请求方式为GET的form表单,action属性后不能带参数的问题讲解

程序员文章站 2022-07-23 23:09:59
若在页面中有如下代码:

若在页面中有如下代码:

<form action="XXX?name=Jack&age=10">  
<input type="text" name="address" value="Beijing"/>  
<input type="hidden" name="sex" value="male"/>  
<input type="submit" value="submit"/>  
</form>  

那么后台无法获取action属性中的name和age参数。这是因为浏览器会将表单中的数据封装为字符串,例如会将上面的address和sex属性封装为address=Beijing&sex=male,然后将其直接附加在action的URL之后,URL和封装后的字符串之间会有一个‘?’分隔。如果在表单的action属性中已经包含了参数,浏览器会直接将其过滤掉,再附加form表单数据。所以请求方法为GET的表单,其action属性中不能携带参数,如果要实现参数的传递,有如下三种方式:

1、使用POST方式进行传递,可以在action中添加参数;

2、如果要用GET方式,那么可以采用上述的方式,通过表单数据进行传递,例如:

<input type="hidden" name="name" value="Jack"/>  
<input type="text" name="age" value="10"/>  

3、使用超链接(超链接默认的请求方式为GET):

<a href="XXX?name=Jack&age=10">提交</a>