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

发布于 2022-09-04 05:51:28 字数 377 浏览 16 评论 0

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

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

三月梨花 2022-09-11 05:51:28

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

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

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

梦回梦里 2022-09-11 05:51:28

通俗一点,像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有什么不同

奢欲 2022-09-11 05:51:28

因为你的提交方式不同

暖风昔人 2022-09-11 05:51:28

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

倚栏听风 2022-09-11 05:51:28

上面的答案都没有回答楼主的问题。
当form提交且method为get时,url中?后面的参数都会被舍弃,挺坑爹的。而用post提交时则会url中的参数会正常接收到。
可以参考:submitting a GET form with query string params and hidden params disappear

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文