无法使用AJAX/jquery登录表单登录

无法使用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&

我有一个登录表单,它在没有ajax部分的情况下工作得非常好。 使用ajax/jquery部分,不可能重定向到用户帐户页面,因为错误总是显示出来

Html部分:

<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

 });