当用户名和传递请求通过ajax完成时,我如何重定向页面


How can i redirect page when username and pass request complete via ajax

我正在尝试让登录系统通过php和ajax检查用户名和密码。我正在展示我所做的一切。

Html

  <div class="container">
  <div id="show-error" style="display:none;" class="alert alert-warning"></div>
  <form  class="form-signin">
    <h2 class="form-signin-heading">Please sign in</h2>
    <input type="text" id="user" class="form-control" placeholder="Email address"  required autofocus>
    <input type="password" id="pass" class="form-control" placeholder="Password"  required>
    <a class="btn btn-lg btn-primary btn-block" onclick="submitfom();" >Sign in</a>
  </form>

JavaScript

function submitfom() {
$.ajax({
          type: "POST",
          url: "checking.php",
          data: {user: $("#user").val(),pass: $("#pass").val()},
       success: function(data){$('#show-error').css("display","inline");$('#show-error').html(data);},
       });
}

PHP

session_start();
include('../../../config.php');
     if((isset($_POST['user'])) && (isset($_POST['pass'])) ){
     $user = $_POST['user'];
     $pass = $_POST['pass'];
     $query = mysql_query("SELECT user FROM admin_user WHERE user ='".$user."' ");
     $query2 = mysql_query("SELECT pass FROM admin_user WHERE pass ='".$pass."' ");
       $result= mysql_num_rows($query);
       $result2= mysql_num_rows($query2);
        if((!empty($result)) && (!empty($result2))){
        $_SESSION['admin']=$user;
      echo "Welcome ". $_SESSION['admin'];
       header('Location: ../../index.php');
        }
        else {echo "Please Write correct <strong>username and password</strong>";}
     }
       else "Some thing miss";

每件事都很好,但现在我只需要当用户写正确的用户名和密码时,我只需要重定向。我使用的是头位置函数,但实际上我是通过ajax发送表单值的,这就是为什么我的重定向不起作用。我不知道为什么请帮忙。

使用位置标头重定向将"起作用"。它将告诉浏览器从新的URL获取Ajax响应的数据。

如果您想将用户发送到一个新的页面,那么您必须将一些数据返回到浏览器,检测它,然后使用JavaScript将location设置为一个新值。

你能用javascript进行重定向吗?

将done和fail方法添加到jQuery ajax调用中(假设版本>1.8)

done: function(data){
   window.location.replace("../../index.php");
},
fail: function(){
   $('#show-error').css("display","inline");
   $('#show-error').html(data);
}
当ajax授权成功时,在javascript成功回调中使用window.location="<URL>"