Estoy tratando de cargar archivos json en la carga de la página. Esos json se encuentran dentro de una carpeta y constituyen la base sobre la cual se construye la aplicación (cada archivo json representa una página). El problema es que quiero que el script pueda manejar un número aleatorio de archivos json.
Por ahora, tengo la siguiente función recursiva que hace exactamente lo que necesito, carga cada página y cuando ocurre un error, inicia la inicialización de la aplicación. El problema es que mi navegador muestra un error 404, lo que obviamente es de esperar. Quiero saber si hay una manera de detectar el error 404 (que indica que no se deben cargar más archivos json) pero evitar que se muestre el error en la consola del navegador .
$(document).ready(function() { let pageArray = []; loadPages(1, pageArray); function loadPages(nb, array) { $.ajax({ url: 'configuration/pages/page' + nb + '.json', dataType: 'json', error: function() { initialize(array); }, success: function(data) { array.push(data); loadPages(nb + 1, array); } }); } function initialize(pages) { console.log(pages); } });EDITAR
Terminé manejando los archivos de configuración con python (django en el servidor). Entonces, python en realidad está recorriendo el directorio antes de enviar las páginas al cliente. Esto no responde la pregunta, sino que ofrece una alternativa que probablemente sea la mejor práctica.
Para evitar que se muestre el error, deberá rodear el fragmento de código que encuentra el error en el bloque try/catch... Algo como esto:
function() { try { openPage(); } catch (error) { // do nothing } }pero creo que esto no es posible de hacer en su caso, ya que ese tipo de errores son registrados por el navegador...