又是一个朋友的问题,他有一个form,method是get,action里面带了参数,例如:
<form action="test.do?p1=1" method="GET">
<input type="text" size="10" value="2" name="p2">
<input type=submit value="Submit">
</form>

在服务器端,提交以后的信息里面参数p1的值没有了!
如果把method修改为POST方式就没有问题了;
又或者把form里面的那个input输入框去掉,那么p1也有值了。
很奇怪吧。
目前还不清楚是浏览器导致这种问题还是有规范约定这种处理方式。我的感觉是有规范进行这种约定,然后浏览器就把form的内容转换为一个URL,例如例子的情况,浏览器就把请求的   URL转换为test.do?p2=2了,忽略了action原先带的参数p1。而如果是POST方式,那么浏览器就不用做转换,直接提交了。
没有办法,我们只能接受这个事实。
阅读全文