Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

272
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!