站内搜索:
首页 >> 前端 >> 内容
关于请求方式为GET的form表单,action属性后不能带参数的问题讲解

时间:2018/2/13 14:18:29

若在页面中有如下代码:

<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>  

  • 上一篇:AngularJs将json字符串转为对象fromJson和将对象转为json字符串toJson(代码教程)
  • 下一篇:AngularJs函数之大小写转换、对象深拷贝、对象扩充、数据遍历(代码实例)
  • 返回顶部