Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

515
Vistas
¿Por qué $.getJSON falla silenciosamente?

Parece muy inconveniente que $.getJSON de jQuery falle silenciosamente cuando los datos devueltos no son JSON válidos. ¿Por qué se implementó esto con una falla silenciosa? ¿Cuál es la forma más fácil de realizar getJSON con un mejor comportamiento de falla (por ejemplo, lanzar una excepción, console.log() , o lo que sea)?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

puedes usar

 function name() { $.getJSON("", function(d) { alert("success"); }).done(function(d) { alert("done"); }).fail(function(d) { alert("error"); }).always(function(d) { alert("complete"); }); }

Si desea ver la causa del error, utilice la versión completa

 function name() { $.getJSON("", function(d) { alert("success"); }).fail( function(d, textStatus, error) { console.error("getJSON failed, status: " + textStatus + ", error: "+error) }); }

Si su JSON no está bien formado, verá algo como

 getJSON failed, status: parsererror, error: SyntaxError: JSON Parse error: Unrecognized token '/'

Si la URL es incorrecta, verá algo como

 getJSON failed, status: error, error: Not Found

Si está intentando obtener JSON de otro dominio, violando la política del mismo origen , este enfoque devuelve un mensaje vacío. Tenga en cuenta que puede evitar la política del mismo origen utilizando JSONP (que tiene sus limitaciones ) o el método preferido de Intercambio de recursos de origen cruzado ( CORS ).

over 4 years ago · Santiago Trujillo Denunciar

0

Directamente de la documentación:

Importante: a partir de jQuery 1.4, si el archivo JSON contiene un error de sintaxis, la solicitud generalmente fallará en silencio.

Como dice la página de documentación, getJSON es simplemente un método abreviado para

 $.ajax({ url: url, dataType: 'json', data: data, success: callback });

Para obtener un comportamiento de falla, puede usar $.ajax así:

 $.ajax({ url: url, dataType: 'json', data: data, success: callback, error: another callback });
over 4 years ago · Santiago Trujillo Denunciar

0

Puede usar $.ajax en su lugar y establecer las dataType de tipo de datos en "json". De la documentación:

"json": evalúa la respuesta como JSON y devuelve un objeto JavaScript. En jQuery 1.4, los datos JSON se analizan de manera estricta; cualquier JSON con formato incorrecto se rechaza y se genera un error de análisis . (Consulte json.org para obtener más información sobre el formato JSON adecuado).

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda