JS window.location无法从.js文件中运行

时间:2017-11-15 17:34:37

标签: javascript redirect window.location

我有以下问题。 我在login.js文件中有这个javsacript代码:

login (userField, passField)
{
    // debugger;
    var json = this.loginLogic(document.getElementById(userField).value, document.getElementById(passField).value);
    setCookie("idSesion", json.usuario.idSesion);
    if (json.usuario.rol=="administrador") {
        window.location.href = 'perfilAdministrador.html';
    }
    else if (json.usuario.rol=="alumno") {
        window.location.href = '../html/perfilAlumno.html';
    }
    else if (json.usuario.rol=="profesor") {
        window.location.href = '../html/perfilProfesor.html';
    }
    else {
        console.log("Error");
    }
};

我有一个html按钮,执行调用此登录方法的onclick(我称之为方法因为它在一个名为class LoginControllerLocal{}的javascript类中) 这是html代码:

   <button type="submit" onclick="myfunction()">Ingresar</button>
  <script>
     function myfunction() {
       var lc = new LoginControllerLocal;  
      lc.login("username", "password");
      }
 </script>

问题如下。我使用调试器来查看代码是否在login.js文件中执行。它是,并且它达到了点,它执行重定向到window.location.href = 'perfilAdministrador.html'; 但是,它没有重定向。相反,我陷入了login.html。函数不会返回任何错误或任何错误。 奇怪的是,如果我按照以下方式运行重定向,它可以工作:

  $(document).ready(function() {
  window.location = 'perfilAdministrador.html';
});

问题是,我无法在页面加载时执行重定向,因为我需要首先验证登录。在问为什么我使用javascript重定向而不使用php之前,这是一项学校作业,必须完全使用javascript。 知道为什么会出现这个问题吗?了解我能得到的所有帮助:)

0 个答案:

没有答案