jQuery$.post将表单输入放入url
我目前正在尝试使用HTML表单和POST请求实现一个基本的身份验证系统。当我按下按钮将信息发送到服务器时,页面被重定向到自身,但将序列化表单输入附加到url 例如:输入的用户名和密码分别为“用户名”和“密码”。这一页从 www.example.com/index.html 到 www.example.com/index.html?用户名=用户名&密码=密码 我有完全相同的代码在另一个页面中运行良好。我还尝试将其移动到三个不同的web服务器上,看看这是否是问题所在 代码如下: HTML格式: login.phpjQuery$.post将表单输入放入url,jquery,http-post,Jquery,Http Post,我目前正在尝试使用HTML表单和POST请求实现一个基本的身份验证系统。当我按下按钮将信息发送到服务器时,页面被重定向到自身,但将序列化表单输入附加到url 例如:输入的用户名和密码分别为“用户名”和“密码”。这一页从 www.example.com/index.html 到 www.example.com/index.html?用户名=用户名&密码=密码 我有完全相同的代码在另一个页面中运行良好。我还尝试将其移动到三个不同的web服务器上,看看这是否是问题所在 代码如下: HTML格式: lo
当我使用调试器找出发生了什么时,回调函数从未被输入。浏览器进入$.post
调用,然后跳过它的主体并完成。我目前正在使用Chrome,但我在Firefox中测试过,也遇到了同样的问题
需要注意的是,当我在Chrome developer tools控制台中打开Network选项卡时,它显示login.php的请求已被取消。问题是因为您的表单正在以正常方式提交,默认情况下通过
get
,这就是为什么会出现querystring
您需要将JS代码附加到表单
本身的submit
事件,而不是点击按钮。试试这个:
<form id="loginForm">
<input type="text" name="username" placeholder="Username">
<input type="password" name="password" placeholder="Password">
<button>Log In</button>
</form>
function login(){
$.post('mobile_php/login.php', $('#loginForm').serialize(), function(data){
//code handling data in here
});
}
<?php
echo "success";
?>
<form id="loginForm">
<input type="text" name="username" placeholder="Username">
<input type="password" name="password" placeholder="Password">
<button>Log In</button>
</form>