jQuery.ajax () - Como lidar melhor com os tempos limite?
Eu estou querendo saber qual é a melhor maneira de lidar com timeouts comjQuery.ajax (). Essa é a minha solução no momento: se ocorrer um tempo limite, a página será recarregada e o script terá outra chance de carregar os dados dentro do prazo determinado.
Problema: se "get_json.php" (exemplo abaixo) não estiver realmente disponível, ele se tornará um loop de recarregamento sem fim. Solução possível: adicionar um contador e cancelar depois de $ x recarrega.
Questão 1: Como lidar melhor com o erro de tempo limite?
Questão 2: Qual é o seu prazo recomendado para um tempo limite e por quê?
Código:
$.ajax({
type: "POST",
url: "get_json.php",
timeout: 500,
dataType: "json",
success: function(json) {
alert("JSON loaded: " + json);
},
error: function(request, status, err) {
if (status == "timeout") {
// timeout -> reload the page and try again
console.log("timeout");
window.location.reload();
} else {
// another error occured
alert("error: " + request + status + err);
}
}
});
Desde já, obrigado!