Junior
Jakie narzędzia używasz do interakcji z serwerem?
sobes.tech AI
Odpowiedź od AI
-
XMLHttpRequest (XHR):
const xhr = new XMLHttpRequest(); xhr.open('GET', '/api/data', true); // Konfiguracja żądania xhr.onload = function() { if (xhr.status >= 200 && xhr.status < 400) { const data = JSON.parse(xhr.responseText); // Obsługa udanej odpowiedzi console.log(data); } else { // Obsługa błędów console.error('Błąd żądania:', xhr.status); } }; xhr.onerror = function() { // Obsługa błędów sieci console.error('Błąd sieci'); }; xhr.send(); // Wysyłanie żądania -
Fetch API:
fetch('/api/data') .then(response => { if (!response.ok) { throw new Error('Status HTTP ' + response.status); // Obsługa błędów HTTP } return response.json(); // Parsowanie JSON }) .then(data => { console.log(data); // Obsługa danych }) .catch(error => { console.error('Błąd żądania:', error); // Obsługa innych błędów }); -
Biblioteki oparte na Fetch lub XHR:
- Axios:
// Instalacja Axios: npm install axios import axios from 'axios'; axios.get('/api/data') .then(response => { console.log(response.data); // Dostęp do danych przez .data }) .catch(error => { console.error('Błąd żądania:', error); // Obsługa błędów }); - jQuery.ajax: (Jeśli używasz jQuery)
// Wymagana biblioteka jQuery $.ajax({ url: '/api/data', method: 'GET', dataType: 'json', // Oczekiwany typ danych success: function(data) { console.log(data); // Obsługa udanej odpowiedzi }, error: function(jqXHR, textStatus, errorThrown) { console.error('Błąd żądania:', textStatus, errorThrown); // Obsługa błędów } });
- Axios:
-
WebSockets: Do dwukierunkowej komunikacji w czasie rzeczywistym.
const socket = new WebSocket('ws://localhost:8080'); // Połączenie z serwerem WebSocket socket.onopen = function(event) { console.log('WebSocket połączony'); // Wydarzenie połączenia socket.send('Cześć od klienta!'); // Wysyłanie wiadomości }; socket.onmessage = function(event) { console.log('Otrzymano wiadomość od serwera:', event.data); // Odbiór wiadomości }; socket.onerror = function(event) { console.error('Błąd WebSocket:', event); // Wydarzenie błędu }; socket.onclose = function(event) { if (event.wasClean) { console.log('Połączenie zamknięte czysto, kod=' + event.code + ' powód=' + event.reason); } else { console.error('Połączenie przerwane'); // Na przykład, proces serwera został zabity } }; // Zamknięcie połączenia // socket.close();