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.