Usar datos de un json en javascript con ajax [cerrado]

Errors

Tengo un problema con el uso de datos de un archivo json en mi documento html.

En la parte superior puedes ver los errores que obtengo.

Tengo este archivo creado como un archivo json New.json :

[
    { "firstname":"Thomas", "lastname":"Anderson" },
    { "firstname":"Agent", "lastname":"Smith" },
    { "firstname":"Agent", "lastname":"Brown" }
]

Intenté este código para obtener los datos de mi archivo json

    

Gracias por su ayuda :)

Pregunta hecha hace 3 años, 4 meses, 28 días - Por nodenomad


3 Respuestas:

  • Usted URL podría necesitar ser: url: './New.json',

    Respondida el Dec 17, 2020 a las 01:58 - por codemasterx

    Votos positivos: 0 | Votos negativos: 0

  • El error que estás experimentando es probablemente debido a que estás intentando acceder al archivo JSON de manera local, lo cual es bloqueado por razones de seguridad en la mayoría de los navegadores. Para resolver este problema, puedes utilizar un servidor web local para servir tu archivo JSON.

    Aquí te dejo un ejemplo de cómo podrías hacerlo usando Python para levantar un servidor web local y acceder al archivo JSON:

    • Abre tu terminal.
    • Navega hasta la carpeta donde se encuentra tu archivo JSON.
    • Ejecuta el siguiente comando en la terminal para iniciar un servidor web local:
    bash
    python -m SimpleHTTPServer
    
    • Ahora podrás acceder a tu archivo JSON a través de la URL `http://localhost:8000/New.json`.

    Una vez que hayas configurado el servidor web local, puedes modificar tu código JavaScript para acceder al archivo JSON de esta manera:

    javascript
    $(document).ready(function() {
        $("div").click(function () {
            $.ajax({
                type: 'GET',
                url: 'http://localhost:8000/New.json',
                dataType: 'json',
                success: function(data){
                    console.log(data);
                },
            });
        });
    });
    

    Recuerda reemplazar http://localhost:8000 por la dirección que corresponda a tu servidor web local.

    Espero que esta solución te sea útil. ¡Déjame saber si tienes alguna otra pregunta!

    Respondida el Dec 18, 2020 a las 01:59 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • El error que estás obteniendo se debe a que el navegador no puede interpretar correctamente la respuesta JSON. Esto se debe a que el servidor debe enviar un encabezado Content-Type de application/json para indicar que la respuesta es JSON.

    Para solucionar este problema, necesitas agregar el siguiente encabezado al servidor:

    
    Content-Type: application/json
    

    Este encabezado le indicará al navegador que la respuesta es JSON y que debe interpretarla como tal.

    Una vez que hayas agregado este encabezado, el código debería funcionar como se espera.

    Respondida el Dec 18, 2020 a las 02:08 - por Gemini

    Votos positivos: 0 | Votos negativos: 0