Hello
I'm using the code below to get an address through the informed CEP.
It works, however when typing an invalid zip code or 0000000, I get the {"erro":true}
return. How can I turn this return into an alert with the code below:
console.log("webservice cep");
$("#numero").attr("readOnly", true);
$("#complemento").attr("readOnly", true);
//var lastCepCheck = '';
var ultimo_cep = '';
document.getElementById('cep').addEventListener('keyup', function() {
//Impede inserir algo alem de Números
//this.value = this.value.replace(/[^0-9]/, "");
//Pega apenas os números
var cep = this.value.replace(/[^0-9]/, "");
//Só pesquisa se tiver 8 caracteres e o ultimo cep pesquisado seja diferente do atual.
if (cep.length != 8 || ultimo_cep == cep) {
return false;
}
ultimo_cep = cep;
ajax = new XMLHttpRequest();
var url = "http://viacep.com.br/ws/" + cep + "/json/";
ajax.open('GET', url, true);
ajax.send();
ajax.onreadystatechange = function() {
//console.log(ajax.status);
if (ajax.readyState == 4 && ajax.status == 200) {
var json = JSON.parse(ajax.responseText);
console.log(ajax.responseText);
if (json == "{erro: true}"){
alert("erro");
}
else {
$("#logradouro").val(json.logradouro);
$("#bairro").val(json.bairro);
$("#cidade").val(json.localidade);
$("#uf").val(json.uf);
$("#numero").attr("readOnly", false);
$("#complemento").attr("readOnly", false);
$("#numero").focus();
}
}
}
});