AJAX调用不重定向

时间:2016-07-28 17:48:32

标签: php jquery ajax

我已经实现了一个带有AJAX请求的登录页面,该页面根据来自php页面loginrequest.php的响应重定向用户

$.ajax ({

  type: "POST",
  url: "ajax/loginrequest.php",
  data: {
    username: username,
    password:pass
  },

  dataType: "text",

  success: function(html){

    console.log(html); // Prints 'login' or 'fail'

    if(html == 'login'){
      console.log("Yes"); //Never Printed
      window.location.href = 'index.php';
    }
    else if(html == 'fail'){
      alert("Incorrect Username and/or Password");
    }
  }
});

这是回复AJAX函数的loginrequest.phplogin的{​​{1}}代码

fail

我的成功函数中的if($count == 1){ $bool = password_verify($mypassword, $row[1]); if($bool == true){ $_SESSION['user'] = $myusername; $_SESSION['division'] = $row[2]; $return = 'login'; } else{ $return = 'fail'; } } else{ $return = 'fail'; } echo $return; 根据凭据打印登录或失败,但由于某种原因,if语句永远不会计算为true。我的页面永远不会重定向,无论如何都不会显示警报。我刚刚将这些文件上传到Web服务器,它们在WAMP上工作正常,但由于某种原因它不再工作了。我在console.log中尝试了json_encode(),但它仍然不起作用。我的数据库调用没有任何问题,因为它根据凭据返回登录或失败,它只是成功函数中的if语句。

我在这里做错了什么?

2 个答案:

答案 0 :(得分:1)

很可能你有一个由PHP回应的迷路空白

尝试

success: function(html){

    console.log(html); // Prints 'login' or 'fail'

    console.log(html.length); // Is it 5 and 4 respectively?

    html = $.trim(html); // if a space is the issue then this should fix it

    if(html == 'login'){
        console.log("Yes"); //Never Printed
        window.location.href = 'index.php';
    }
    else if(html == 'fail'){
        alert("Incorrect Username and/or Password");
    }
}

答案 1 :(得分:-1)

使用像1/0这样的真/假值....更可靠

get("/login", (req, res) -> {
        req.attribute("a", "message");
        req.session().attribute("message", "");
        return new ModelAndView(null, "");

    }, new PebbleTemplateEngine());