如何阻止JQuery提交表单时在URL后添加查询字符串?
解决表单提交时URL自动追加查询字符串的问题
问题原因
HTML表单默认使用GET方法提交数据,这种方式会把所有带name属性的表单字段自动拼接成查询字符串,追加到action指定的URL末尾,这就是你看到URL出现?newpass=test的原因。
解决方法
只需两步就能解决:
- 修改表单的提交方法
在表单标签中添加method="POST"属性,修改后的表单代码片段如下:<form action="" id="passchange" method="POST"> <!-- 表单原有内容保持不变 --> </form> - 调整后端PHP的参数获取方式
把原本从$_GET['newpass']获取密码的代码,改成从$_POST['newpass']获取,示例:// 替换原GET方式的代码 $newPassword = $_POST['newpass'];
修改完成后,表单提交时会通过POST请求传递密码参数,参数不会出现在URL中,你的URL会保持期望的http://localhost/NguyenTranTienHiep1/index.php/backend/PasswordChange/[id]格式,同时后端也能正常获取到输入的密码内容。
内容的提问来源于stack exchange,提问作者Alukusukuku
相关产品推荐
相关产品推荐

