PHPWIND[民间论坛]数据搬迁导致丢失严重,用户数据基本全部损坏,十分遗憾来自phpwind.me的远古记忆
form表单Get方式提交时,action中带参数传递不了
<form action="getPostServlet/getPost.do?param4=param4" method="get"> <input type="hidden" name="param1" value="param1"> <input type="hidden" name="param2" value="param2"> <input type="text" name="param3" value="param3" readonly> <input type="submit" name="button1" value="submit"> </form> 注意到表单中action:getPostServlet/getPost.do?param4=param4,这个action带有一个参数param4。 1.如果用get方法提交,后台无法接收到这个参数; 2.如果用post方法提交,后台就可以接收到这个参数。 经查询发现: 1.用get方法提交的url显示如下: http://localhost/mywebapp/getPostServlet/getPost.do?pram1=param1&pram2=param2&pram3=param3&button1=submit 1 也就是说method为get时action自己后边带的参数列表会被忽视,,后台无法接收到这个参数,只能得到表单中的参数; 2.用post方法提交的url显示如下: http://localhost/mywebapp/getPostServlet/getPost.do?param4=param4 1 也就是说post方式提交表单,参数分为两部分:一部分是action中的参数放在地址栏;另一部分是表单中的参数放在请求的头中;所以所有的数据后台全部能获得。 总结: get: get请求方式的表单的action属性中不能附带任何参数,如果仍然想使用GET请求方式,可以在form表单中添加相应的隐藏文本域,例如: <input name=”method” type=”hidden” value=”test”> 1 post: 采用post请求方式,在form中增加属性method=”post”即可。