关于提交表单的一个问题

来源:百度知道 编辑:UC知道 时间:2024/06/04 19:01:17
我在js代码中提交表单,相关代码如下:
form1.action="userlogin.do?username="+form1.username.value.trim()+"&password="+form1.password.value.trim()+"";
form1.method="post";
form1.submit();
登陆成功后 地址栏中还是会显示相关参数,如下:
http://localhost:8080/listcheck/userlogin.do?username=guojing&password=123456
我想把地址栏中的参数隐藏应该怎么做,毕竟这样不安全。
望高手赐教!!

form1.action="userlogin.do?username="+form1.username.value.trim()+"&password="+form1.password.value.trim()+"";

你这一句自己把参数加上去的,自然会显示出来了,不论你后面用get还是post

你可以在form内设置一个隐藏于,submit()之前吧用户名,密码放在隐藏于里面,然后用post方式提交即可 ,而你的
form1.action = "userlogin.do"

就行了

首先,你的思路是没错的,就是要POST方式提交

这里需要指出的是,在请求的Action里以url的方式传递用户名和密码的话就浏览器自然会将你请求的url完整地显示在地址栏

解决办法:
从代码中可以看出在form1中有两个输入域,分别是username和password,
js代码修改成:
form1.username.value=form1.username.value.trim();
form1.password.value=form1.password.value.trim();
form1.action="userlogin.do";
form1.method="post";
form1.submit();
你还可以将用户名和密码放到request中,到后台在从request中取出来,不过这样就失去了form表单的意义。

<form method="post">
</form>

Post