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

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

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 Report

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 Report

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 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!