form表单提交的时候,action里的值Get参数问题。

我记得以前写form表单的时候,有些参数我直接写在了action链接里面,但是提交之后获取不到,于是我就把这些参数写在了type=hidden的input标签里。

但是最近在写form表单的时候,突然发现action链接里面带着的get参数是可以传过去的。

这让我很困惑,因为我之前查资料的时候看到,在action中的参数是会被url encode,不能用,所以一直都是用input来传,现在突然发现可以用。所以我想问一下,到底什么情况下form表单action中的参数可以传过去,什么时候不可以传?

阅读 9.6k
5 个回答

当form提交方式为get的时候,组件里填写了value的值,action里的url后也带有参数(写死的),这时servlet获取的uesrName和passWord是文本组件里的值

当form提交方式为post的时候,组件里填写了value的值,action里的url后也带有参数(写死的),这时servlet获取的uesrName和passWord是url后参数的值

建议你参考一下这个答案,http://www.cnblogs.com/gwq369...

通俗一点,像a=x1&b=x2&c=x3并且跟在url之后以?开头
http://domain.com/?a=x1&b=x2&c=x3,我们称之为QueryString
在php中通过$_GET超全局数组获得

echo $_GET['a']; //print x1
echo $_GET['b']; //print x2
//more...

另外并不是说url encode就不能用,有encode就有decode

form表单有两种提交方式,一种GET,一种POST
使用GET方式的时候,目的URL就会被组成QueryString的形式去访问目的页面。

<form method="get" action="http://localhost/">
    <input type="input" name="a" value="111" />
    <input type="input" name="b" value="222" />
    <input type="submit" value="submit" />
</form>

你可以观察下,点击提交按钮的时候,URL有什么不同

因为你的提交方式不同

form 表单 action 的 url 带上一些参数 ?a=b 等,我的理解是,不管是POST 还是 GET 方法,都是可以被传递,被后端接受的。
唯一要注意的就是,如果是 POST 方法 ,action.php?a=b,但是表单里也有 a 这个字段,看看会使用哪一个值

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题