Sobes.tech
Junior

İstifadəçi serverdən alınan məlumatların uğurla qəbul olunduğunu və brauzerdə göstərildiyini necə başa düşə bilər?

sobes.tech Süni İntellekt

AI-dan cavab

Müştəri JavaScript məlumatların uğurla alınması və göstərilməsi üçün bir neçə üsul istifadə edə bilər:

  • AJAX sorğuları: XMLHttpRequest və ya Fetch API istifadə edilərsə, uğur HTTP cavab status kodu ilə müəyyən edilir. 200-299 arası status kodları uğurlu sayılır.

    // Fetch API nümunəsi
    fetch('/api/data')
      .then(response => {
        if (response.ok) { // HTTP statusunu yoxlayırıq (200-299)
          return response.json();
        } else {
          throw new Error('Server xətası: ' + response.status);
        }
      })
      .then(data => {
        // Məlumat uğurla alınıb və göstərilməyə hazırdır
        console.log('Uğurla alınan məlumat:', data);
        // Məlumatların brauzerdə göstərilməsi üçün loqika
        displayData(data);
      })
      .catch(error => {
        // Xəta hallarında işləmə
        console.error('Məlumatların alınmasında xəta:', error);
      });
    
    function displayData(data) {
        // DOM-a data-nın daxil edilməsi və uğurlu renderin yoxlanması
        const element = document.getElementById('data-container');
        if (element) {
            element.innerText = JSON.stringify(data, null, 2); // Nümunə daxil etmə
            // Elementin DOM-da göründüyünü yoxlamaq olar
            if (document.contains(element)) {
                console.log('Məlumatlar DOM-da uğurla göstərildi.');
            }
        }
    }
    
  • WebSockets: Məlumatların alınması uğuru onmessage hadisəsinin baş verməsidir. Məlumatların brauzerdə göstərilməsi əlavə loqika tələb edir.

    const socket = new WebSocket('ws://localhost:8080/ws');
    
    socket.onopen = function(event) {
      console.log('WebSocket bağlantısı quruldu.');
    };
    
    socket.onmessage = function(event) {
      console.log('WebSocket vasitəsilə alınan məlumat:', event.data);
      // Məlumatlar alınıb, indi onları göstərə bilərik
      displayDataFromWebSocket(event.data);
    };
    
    socket.onerror = function(event) {
      console.error('WebSocket xətası:', event);
    };
    
    socket.onclose = function(event) {
      if (event.wasClean) {
        console.log(`WebSocket bağlantısı təmiz bağlandı, kod=${event.code}, səbəb=${event.reason}`);
      } else {
        console.error('WebSocket bağlantısı kəsildi');
      }
    };
    
    function displayDataFromWebSocket(data) {
        // WebSocket vasitəsilə alınan məlumatların göstərilməsi loqikası
        const element = document.getElementById('websocket-data');
        if (element) {
            element.innerText = data;
            // Uğurlu render yoxlaması
            if (document.contains(element)) {
                console.log('WebSocket-dən alınan məlumat uğurla göstərildi.');
            }
        }
    }
    
  • HTML Formlar: Ənənəvi HTML formaları və yönləndirmə istifadə edilərsə, uğur yeni səhifənin yüklənməsi ilə müəyyən edilir və gözlənilən məzmunu ehtiva edir. Yeni səhifədəki müştəri skripti DOMContentLoaded hadisəsindən sonra DOM-da məlumatların olub-olmadığını yoxlaya bilər.

  • Server tərəfi şablonlar: Əgər məlumatlar server tərəfində (məsələn, JSP, Thymeleaf ilə) yerləşdirilibsə, uğurlu alma və göstərmə eyni zamanda səhifənin yüklənməsi ilə baş verir. Müştəri skripti DOMContentLoaded hadisəsindən sonra məlumatların elementlərinin olub-olmadığını yoxlaya bilər.

  • DOM-da yoxlamalar: Məlumatlar DOM-a daxil edildikdən sonra, JavaScript əlavə elementlərin olub-olmadığını, məzmununu və ya xüsusiyyətlərini yoxlaya bilər.

    // Məlumatların daxil edildikdən sonra elementin olub-olmadığını yoxlama nümunəsi
    const dataElement = document.getElementById('rendered-data-id');
    if (dataElement && dataElement.innerText !== '') {
        console.log('Məlumatlar uğurla DOM-da göstərildi.');
    }
    

Uğurlu alma ilə, məlumatların DOM-a daxil edilməsi və onların render olunması arasında fərq olduğunu başa düşmək vacibdir.