登录操作时URL出现问号的问题咨询(附登录表单代码)
问题根源:表单默认使用GET提交方式
嘿,我一眼就揪出问题所在了——这是浏览器默认的表单提交方式搞的鬼!你提交登录后URL出现问号,核心原因是你的<form>标签没有指定method属性,浏览器会自动用GET方法处理表单提交。GET方法会把表单数据(哪怕是空的)以查询参数的形式追加到URL末尾,所以就出现了那个讨厌的问号(如果表单有输入内容,还会跟着?key=value这类参数)。
看你提供的代码片段:
<div class="col-sm-4"> <ul class="nav nav-tabs"> <li class="active"><a data-toggle="tab" href="#Form1"><strong>Admin</strong></a></li> <li><a data-toggle="tab" href="#Form2"><strong>Librarian</strong></a></li> </ul> <div class="tab-content"> <div id="Form1" class="tab-pane fade in active"> <form> <!-- 这里缺少method属性,浏览器默认用GET --> <div class="form-group"> <input type="text" class="form-control"...
解决方案:修改表单提交方式为POST
这是最直接也最安全的解决办法,因为登录信息属于敏感数据,POST方法会把数据放在请求体里,不会暴露在URL中,自然也不会出现问号:
只需要给<form>标签加上method="POST"属性就行,修改后的代码片段如下:
<form method="POST"> <!-- 新增POST提交方式 --> <div class="form-group"> <input type="text" class="form-control"...
额外小提示
- 记得给表单加个提交按钮:比如添加
<button type="submit" class="btn btn-primary">登录</button>,不然用户只能按回车提交,体验不太友好。 - 如果是后端处理登录请求,要确保后端支持接收POST请求的表单数据(比如PHP用
$_POST、Java用request.getParameter()等)。
内容的提问来源于stack exchange,提问作者ali amer
相关产品推荐
相关产品推荐

