Window.location 在调用 ajax 请求成功响应后不起作用,它调用了成功函数。
当我在调试器上的 firefox 上逐步执行 window.location 时,它起作用了。
function login(){
var jason ={"usuario":document.getElementById("inputusuario").value,
"password": document.getElementById("inputpassword").value
};
json =JSON.stringify(jason);
console.log(json);
var onSuccess = function (data) {
console.log('Success');
window.location ='salas.html'
};
var onError = function (jqXHR, textStatus, errorThrown) {
console.log(jqXHR);
console.log(textStatus);
console.log(errorThrown);
alert("no se conecto");
};
var onBeforeSend = function () {
console.log("Loading");
};
var jason ={"usuario":document.getElementById("inputusuario").value,
"password": document.getElementById("inputpassword").value
};
json =JSON.stringify(jason);
$.ajax({
url: "../reservaciones/index.php/login",
type:"POST",
data: json,
cache: false,
async: false,
beforeSend: onBeforeSend,
error: onError,
success: onSuccess
});
};
最佳答案
我完全复制了您的代码,添加了适当的元素,并且运行良好。
试试这些:
1.尝试window.location.assign()
。众所周知,这可以解决这个问题。
2. 尝试运行 async: true
。从您的代码中,我看不出您想要运行 false
的原因,有时这会导致计时问题。
关于javascript - Window.location 在 ajax 请求后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15206930/