您好使用AJAX将用户名和密码传递到php页面,一旦确定用户名和密码存在,我想加载页面main.html.
在我提交表单的那一刻,我得到了回复的回复,这显示在错误消息标签位置的表单上方,但它没有加载main.html页面.
我是新手,所以不确定我哪里出错,我已经在chrome web开发者控制台中运行代码,但它没有显示任何问题,并希望有人能指出我正确的方向.
页面的URL:http://goo.gl/7QGrnr
HTML代码
<label id="errorMessage"></label>
<form name="login" class="login">
<input name="username" type="text" placeholder="Username"/>
<input name="password" type="text" placeholder="Password"/>
<input type="submit" name="login" class="login" value="Login" id="orange"/>
</form>
Run Code Online (Sandbox Code Playgroud)
AJAX代码
$(document).ready(function(){
$('form.login').submit(function () {
var username = $("[name='username']").val();
var password = $("[name='password']").val()
// ...
$.ajax({
type: "POST",
url: "login.php",
data: "username="+ username +"& password="+ password,
success: function(response){
if(response == 'true') {
window.location.href='main.html';
}
else {
$("#errorMessage").html(response);
}
}
});
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
PHP代码
$username = mysql_real_escape_string($_POST['username']);
$password = md5(mysql_real_escape_string($_POST['password']));
if(!empty($username) && !empty($password))
{
$result = mysql_query("SELECT * FROM users WHERE username='$username' and password ='5d503cf3064551d1bae24d5e2aaedbd9'");
$num_rows01 = mysql_num_rows($result);
if($num_rows01 === 1)
{
echo 'true';
}
else
{
echo 'false';
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个直接的问题,如果只是正确调试JS,就可以轻松解决.让我教你一个简单的技巧.在你的JS中插入所有重要位置的断点.代码在每个断点处停止,然后您可以看到状态.在这种情况下,我们必须确定代码是否进入成功方案.我们插入一个如下的断点:
success: function(response){
debugger;
if(response == 'true')
{
window.location.href='main.html';
}
else
{
$("#errorMessage").html(response);
}
}
Run Code Online (Sandbox Code Playgroud)
如果代码进入成功场景,它应该命中调试器.然后,您可以查看每个变量的状态并立即找到问题.相信我,这个小技术将帮助你从长远来看!
希望这能解决你的问题.