无法使用AJAX/jquery登录表单登录
我有一个登录表单,它在没有ajax部分的情况下工作得非常好。 使用ajax/jquery部分,不可能重定向到用户帐户页面,因为错误总是显示出来 Html部分:无法使用AJAX/jquery登录表单登录,jquery,ajax,forms,validation,login,Jquery,Ajax,Forms,Validation,Login,我有一个登录表单,它在没有ajax部分的情况下工作得非常好。 使用ajax/jquery部分,不可能重定向到用户帐户页面,因为错误总是显示出来 Html部分: <form id="loggin" action="<?php echo $action;?>" method="post" enctype="multipart/form-data"> <div class="alto"> <h3>Login</h3> </div&
<form id="loggin" action="<?php echo $action;?>" method="post" enctype="multipart/form-data">
<div class="alto">
<h3>Login</h3>
</div>
<div class="warning" style="display:none;"> <?php echo $error_warning; ?></div>
<?php if ($error_warning) { ?>
<div class="warning"><?php echo $error_warning; ?></div>
<?php } ?>
<div>
<label id="one" >Email:</label>
<input type="text" name="email" id="email" value="<?php echo $email; ?>"/>
</div>
<div>
<label id="two">Password:</label>
<input type="password" name="password" id="password" value="<?php echo $password ?>"/>
</div>
<div class="basso">
<input type="submit" value="Login"></input>
<a href="#" class=" passwort linkform">Forgot Passoword?</a>
<div class="clear"></div>
</div>
</form>
代码中的问题在哪里?
提前谢谢你的帮助
编辑
也许有人知道编写ajax部分的另一种方法
如果(有些=='true'){
可能有些不等于“true”?另外,为了避免错误,在声明新的局部变量时,您应该始终使用var。您是否在页面的开头包含session_start();这应该在所有页面的开头声明?正如我之前所说,php部分工作正常,但Ajax部分没有:-(页面是否在之后重定向?如果不是,php将如何检测cookie已被删除set@Liam使用php时,页面将被重定向。但使用ajax部分则不会,因为它总是会显示错误。您能解释更多吗?谢谢!为什么“some”不等于true?根据jquery文档:“success Type:Function(PlainObject data,String textStatus,jqXHR jqXHR)请求成功时调用的函数。该函数传递三个参数:从服务器返回的数据,根据dataType参数格式化;描述状态的字符串;以及jqXHR(在jQuery 1.4.x中,XMLHttpRequest)对象。“换句话说,some-是php部分的答案。您确定php部分回答“true”吗?我还建议使用.post()而不是.ajax().我尝试使用.post而不是.ajax,但它不起作用。您的大部分解释对我来说太多了,我无法理解,因为我对ajax/jquery非常陌生。相反,我在代码中添加了类型:“post”,在重新加载页面后,它工作了,但是表单仍然没有在没有手动重新加载的情况下重定向。编辑:确定,'some'返回true,没有ajax它工作。>编辑:确定,'some'返回true,没有ajax它工作。你不明白一件事:some-是php的答案。它可以是一些文本甚至对象,而不是简单的true或false。这是您的php脚本返回的内容。请使用alert(some)了解它包含的内容。该alert包含整个html登录表单(file.tpl)。它绝对不正确。因此,如何在没有if/else语句的情况下正确编写代码?编辑:但该警报仅显示在if/else的第二部分。
$(document).ready(function() {
$('#loggin').submit(function(){
email = $("#email").val();
password = $("#password").val();
$.ajax({
url: 'index.php?dispatch=module/form',
data: "email="+email+"&password="+password,
success: function(some) {
if(some=='true') {
window.location="index.php?dispatch=account/account";
}else{
$('.warning').css('display','block');
$('#one,#two').css({
color: 'red',
fontWeight: 'bold'
});
$('#email,#password').addClass('errore22');
}
}
}); return false; //end ajax
}); //end submit
});