Tratar Http 404
Tratar Http 404
Boa tarde!
Sim, é possível, e é possível tratar outros erros / códigos, como o 301, 500, 404, 200, etc...
Tanto em sucesso quanto erro, dependendo do código a ser tratado.
Basta utilizar os demais parâmetros das funções de sucesso e erro, normalmente usamos apenas o primeiro parâmetro, mas existem vários outros.
veja:
$http.get('/minha-url').
success(function(data, status, headers, config) {
// no caso de sucesso
}).
error(function(data, status, headers, config) {
// no caso de erro
// o 404 pode ser verificado com o conteúdo do parâmetro 'status'
});
Só para complementar, o exemplo que passei foi com angular.
Mas pode ser feito com javascript puro, jquery, etc...
jQuery:
$.ajax({
//...
success: function(data, textStatus, xhr) {
console.log(xhr.status);
},
complete: function(xhr, textStatus) {
console.log(xhr.status);
}
});
JavaScript:
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == XMLHttpRequest.DONE ) {
if (xmlhttp.status == 200) {
document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
}
else if (xmlhttp.status == 400) {
alert('Erro 400');
}
else {
alert('qualquer outro retorno que não é 200 ou 400');
}
}
};
xmlhttp.open("GET", "meu link", true);
xmlhttp.send();
Adriano,
Obrigado pela resposta.
Mas, esses tratamentos já são quando o response passa pela aplicação...no meu caso o browser requisita para o servidor a página, e o servidor antes de chegar na aplicação retorna 404.
Bom dia!
Se no seu caso não carrega absolutamente nada da aplicação, é impossível tratar os retornos do HTTP do lado do cliente.
Para fazer qualquer coisa, é preciso que haja pelo menos um javascript do lado do cliente.