Junior
¿Qué herramientas utilizas para interactuar con el servidor?
sobes.tech AI
Respuesta de la IA
-
XMLHttpRequest (XHR):
const xhr = new XMLHttpRequest(); xhr.open('GET', '/api/data', true); // Configuración de la solicitud xhr.onload = function() { if (xhr.status >= 200 && xhr.status < 400) { const data = JSON.parse(xhr.responseText); // Procesamiento de respuesta exitosa console.log(data); } else { // Manejo de errores console.error('Error en la solicitud:', xhr.status); } }; xhr.onerror = function() { // Manejo de errores de red console.error('Error de red'); }; xhr.send(); // Envío de la solicitud -
Fetch API:
fetch('/api/data') .then(response => { if (!response.ok) { throw new Error('Estado HTTP ' + response.status); // Manejo de errores HTTP } return response.json(); // Análisis de JSON }) .then(data => { console.log(data); // Procesamiento de datos }) .catch(error => { console.error('Error en la solicitud:', error); // Manejo de otros errores }); -
Bibliotecas basadas en Fetch o XHR:
- Axios:
// Instalación de Axios: npm install axios import axios from 'axios'; axios.get('/api/data') .then(response => { console.log(response.data); // Acceso a datos a través de .data }) .catch(error => { console.error('Error en la solicitud:', error); // Manejo de errores }); - jQuery.ajax: (si se usa jQuery)
// Se requiere la biblioteca jQuery $.ajax({ url: '/api/data', method: 'GET', dataType: 'json', // Tipo de datos esperado success: function(data) { console.log(data); // Procesamiento de respuesta exitosa }, error: function(jqXHR, textStatus, errorThrown) { console.error('Error en la solicitud:', textStatus, errorThrown); // Manejo de errores } });
- Axios:
-
WebSockets: Para comunicación bidireccional en tiempo real.
const socket = new WebSocket('ws://localhost:8080'); // Conexión al servidor WebSocket socket.onopen = function(event) { console.log('WebSocket conectado'); // Evento de conexión socket.send('¡Hola desde el cliente!'); // Envío de mensaje }; socket.onmessage = function(event) { console.log('Mensaje recibido del servidor:', event.data); // Recepción de mensaje }; socket.onerror = function(event) { console.error('Error de WebSocket:', event); // Evento de error }; socket.onclose = function(event) { if (event.wasClean) { console.log('Conexión cerrada limpiamente, código=' + event.code + ' motivo=' + event.reason); } else { console.error('Conexión interrumpida'); // Por ejemplo, proceso del servidor terminado } }; // Cierre de la conexión // socket.close();