Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Alguém consegue dizer porque está executando as duas condições? ou não estou vendo algo... executa o if como o else toda vez...
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
escrevemensagem("Parabéns, artigo publicado!");
window.onbeforeunload = null;
tempo = setInterval(vaiArtigos, 3000);
}else{
escrevemensagem("Algum problema ocorreu, tente novamente.");
document.getElementById("savepub").style.display = 'inline-block';
document.getElementById("saverasc").style.display = 'inline-block';
}
}Tudo bem William, na verdade a intenção é que apenas quando o readState for 4 (finalizado) e página devolver 200 (totalmente carregada) vai executar. Validar as duas situações é que diz a w3schools.. ou está incorreto?
Eu contornei a situação que citei usando em vez de else um else if com diferente para qualquer das situações, mas foi para mim prosseguir, porque não vi motivo algum para ele executar as duas coisas usando apenas else.
Obrigado
a w3schools tem um monte de artigo ruim e incompleto. Não se guie por lá.
Executa o else várias vezes pq essa função é chamada 4 vezes, uma para cada estado do readyState.
Os 3 primeiros estados não precisam ser tratados. São estados intermediários de conexão, nada de interessante para mostrar pro usuário sobre eles.
Pq essa função é chamada 4 vezes.
Uma para cada estado do readyState.