【问题标题】:How to redirect to new page using ajax如何使用ajax重定向到新页面
【发布时间】:2017-06-07 21:26:02
【问题描述】:

我创建了一个登录表单,它通过 ajax POST 数据到另一个 php 页面并检查用户名和密码验证。如果用户名或密码错误,它会在页面上显示错误消息登录表单。但是如果用户身份验证正常,它应该重定向到相应的页面。但是现在它正在加载登录表单。如何成功重定向?

这是后端逻辑

if ( password_verify($password, $user['passwrd']) ) {

        $userrole=$user['role'];

        switch($userrole){
            case 'admin':
                $_SESSION['username']=$username;
                $_SESSION['role']="admin";
                // This is how we'll know the user is logged in
                $_SESSION['logged_in'] = true;
                header('Location: admin-view.php');
                break;

前端页面中的这段代码

<script type="text/javascript">
    var frm= $('#login-form');
    frm.submit(function(e){
      e.preventDefault();

      $.ajax({
        type:frm.attr('method'),
        url:frm.attr('action'),
        data:frm.serialize(),
        success:function(data){
          $('#feedback').html(data).fadeIn( 300 ).delay( 1500 ).fadeOut( 400 );
        },
        error:function(data){
          console.log('An error occurred !');
          console.log(data);
        }
      });

    });

</script>

【问题讨论】:

  • php代码是否与jquery代码分离?
  • 这只是提取代码。这些在两个不同的页面中
  • 您将需要从 javascript 重定向。顺便说一句,我希望您放置的代码不是来自单个文件。
  • @Manusha 你能把代码分成不同的块吗,否则人们(像我一样)会认为代码只是一个块。顺便说一句,php 标头无助于重定向,请在 php 中删除该行并使用 javascript 重定向
  • window.location.href 不起作用?

标签: php jquery ajax login


【解决方案1】:

现在您将整个页面作为 json 数据传递,您需要重新定位到页面,例如

    success:function(data){
            if(data==true)
{
window.location.href ="/YourPag.html";
}
);
            }

,

【讨论】:

  • 如果条件为真,我应该回传什么来比较?
  • 传真假
【解决方案2】:

您可以在 javascript 中重定向到另一个页面 像这样

window.location.href = "http://stackoverflow.com";

祝你好运

【讨论】:

    猜你喜欢
    • 2011-01-19
    • 2012-04-24
    • 2018-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多