Saltar la navegación

8.4.1. Ejemplo

Ejemplo funcional

La Web JSONPlaceholder - Free Fake REST API (typicode.com)  es una API (Application Programming Interface) para realizar pruebas.

El siguiente código HTML mostrará una página con un título y un botón. Al pulsar el botón, se mostrará una información obtenida de la web dentro de un div.

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Ejemplo de AJAX</title>
</head>
<body>
    <h1>Consulta de Usuarios</h1>
    <button onclick="obtenerUsuarios()">Obtener Usuarios</button>
    <div id="resultado"></div>

    <script src="script.js"></script>
</body>
</html>

Código JavaScript necesario para la conexión a la API:

function obtenerUsuarios() {
    var xhr = new XMLHttpRequest();

    // Configurar la solicitud
    xhr.open("GET", "https://jsonplaceholder.typicode.com/users", true);

    // Manejar la respuesta
    xhr.onload = function() {
        if (xhr.status == 200) {
            // Convertir la respuesta JSON a un objeto JavaScript
            var usuarios = JSON.parse(xhr.responseText);

            // Manejar los datos obtenidos
            mostrarUsuarios(usuarios);
        } else {
            console.error("Error al realizar la solicitud. Código de estado: " + xhr.status);
        }
    };

    // Manejar errores de red
    xhr.onerror = function() {
        console.error("Error de red al realizar la solicitud");
    };

    // Enviar la solicitud
    xhr.send();
}

function mostrarUsuarios(usuarios) {
    var resultado = document.getElementById("resultado");
    resultado.innerHTML = "<h2>Usuarios</h2>";

    // Crear una lista de usuarios
    var listaUsuarios = "<ul>";
    usuarios.forEach(function(usuario) {
        listaUsuarios += "<li><strong>ID:</strong> " + usuario.id + ", <strong>Nombre:</strong> " + usuario.name + ", <strong>Email:</strong> " + usuario.email + "</li>";
    });
    listaUsuarios += "</ul>";

    resultado.innerHTML += listaUsuarios;
}

Este último código se guardará en script.js para que el botón tenga funcionalidad. Observa que no ha sido necesario un formulario ni una recarga web para adquirir la información.

Creado con eXeLearning (Ventana nueva)