Sobes.tech
Junior

Server ilə əlaqə qurmaq üçün hansı alətlərdən istifadə edirsiniz?

sobes.tech Süni İntellekt

AI-dan cavab

  • XMLHttpRequest (XHR):

    const xhr = new XMLHttpRequest();
    xhr.open('GET', '/api/data', true); // Sorğu konfiqurasiyası
    xhr.onload = function() {
      if (xhr.status >= 200 && xhr.status < 400) {
        const data = JSON.parse(xhr.responseText); // Uğurlu cavabın işlənməsi
        console.log(data);
      } else {
        // Xəta idarəetməsi
        console.error('Sorğuda xəta:', xhr.status);
      }
    };
    xhr.onerror = function() {
      // Şəbəkə xətalarının idarə olunması
      console.error('Şəbəkə xətası');
    };
    xhr.send(); // Sorğunu göndər
    
  • Fetch API:

    fetch('/api/data')
      .then(response => {
        if (!response.ok) {
          throw new Error('HTTP status ' + response.status); // HTTP xətalarının idarə olunması
        }
        return response.json(); // JSON parsinq
      })
      .then(data => {
        console.log(data); // Məlumatların işlənməsi
      })
      .catch(error => {
        console.error('Sorğuda xəta:', error); // Digər xətaların idarə olunması
      });
    
  • Fetch və ya XHR-ə əsaslanan kitabxanalar:

    • Axios:
      // Axios-un quraşdırılması: npm install axios
      
      import axios from 'axios';
      
      axios.get('/api/data')
        .then(response => {
          console.log(response.data); // .data vasitəsilə verilərə çıxış
        })
        .catch(error => {
          console.error('Sorğuda xəta:', error); // Xətaların idarə olunması
        });
      
    • jQuery.ajax: (Əgər jQuery istifadə olunursa)
      // jQuery kitabxanası tələb olunur
      
      $.ajax({
        url: '/api/data',
        method: 'GET',
        dataType: 'json', // Gözlənilən məlumat tipi
        success: function(data) {
          console.log(data); // Uğurlu cavabın işlənməsi
        },
        error: function(jqXHR, textStatus, errorThrown) {
          console.error('Sorğuda xəta:', textStatus, errorThrown); // Xəta idarəetməsi
        }
      });
      
  • WebSockets: Realtime məlumat mübadiləsi üçün iki tərəfli əlaqə.

    const socket = new WebSocket('ws://localhost:8080'); // WebSocket serverinə qoşulma
    
    socket.onopen = function(event) {
      console.log('WebSocket qoşuldu'); // Qoşulma hadisəsi
      socket.send('Xəstəlikdən salam!'); // Mesaj göndər
    };
    
    socket.onmessage = function(event) {
      console.log('Serverdən alınan mesaj:', event.data); // Mesaj alınması
    };
    
    socket.onerror = function(event) {
      console.error('WebSocket xətası:', event); // Xəta hadisəsi
    };
    
    socket.onclose = function(event) {
      if (event.wasClean) {
        console.log('Təmiz şəkildə bağlandı, kod=' + event.code + ' səbəb=' + event.reason);
      } else {
        console.error('Qoşulma kəsildi'); // Məsələn, server prosesi öldürülüb
      }
    };
    
    // Bağlantını bağlamaq
    // socket.close();