Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

240
Visualizações
Cómo verificar si los datos devueltos por ajax como json son objetos vacíos o no

Configuré este script para verificar si la dirección de correo electrónico existe en la base de datos o no:

 function checkemail(){ var e = document.getElementById("email").value; if(e != ""){ document.getElementById("emailstatus").innerHTML = 'checking ...'; $.ajax({ type:'get', url:'{!! URL::to('checkEmailExists') !!}', data:{'email':e}, success:function(data){ // console.log(data); if(Object.keys(data).length === 0) { document.getElementById("emailstatus").style.color = "red"; document.getElementById("emailstatus").innerHTML = e + " is NOT OK"; }else{ document.getElementById("emailstatus").style.color = "green"; document.getElementById("emailstatus").innerHTML = e + " is OK"; } }, error:function(){ } }); } }

Entonces, el código funciona bien, pero el único problema proviene de esta verificación de condición que siempre devuelve VERDADERO :

 if(Object.keys(data).length === 0)

Básicamente, si ingreso una dirección de correo electrónico que no existe en la base de datos, se devolverá como data (resultados de console.log(data) ):

 {}

De lo contrario, devolverá este obj:

 { "id": 1, "name": "Myname", "email": "myemail@yahoo.com", "email_verified_at": null, "created_at": "2022-02-09T05:49:27.000000Z", "updated_at": "2022-02-09T05:49:27.000000Z" }

Entonces necesito verificar correctamente si el objeto devuelto está vacío o no.

Pero parece que if(Object.keys(data).length === 0) no está verificando correctamente esa condición, ya que siempre es VERDADERO y, por lo tanto, la declaración [email] is OK aparece en la página.

Entonces, ¿cómo verificar correctamente si el objeto devuelto está vacío o no?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Object.keys debería funcionar:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Le sugiero que verifique dos veces los parámetros enviados a la función de success .

over 4 years ago · Santiago Trujillo Relatório

0

Puede verificar una propiedad específica, si no está allí, será undefined , lo que significa que no obtuvo una respuesta correcta.

Combinar undefined con || para obtener un "valor si no está establecido", da:

 success:function(data) { var success = (data.id || 0) > 0;

Simplemente puede verificar if (data.id == undefined) , pero hay una serie de advertencias al comparar con undefined

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda