我有以下问题。 我在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。 知道为什么会出现这个问题吗?了解我能得到的所有帮助:)