php - form表单提交的时候,action里的值Get参数问题。
黄舟
黄舟 2017-04-10 17:57:12
[PHP讨论组]

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

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

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

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(4)
高洛峰

当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有什么不同

PHP中文网

因为你的提交方式不同

PHP中文网

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号