Segelparade / www / symfonyproject / public / assets / js / backend / fetch.js
fetch.js
Raw
class serverFetch{

   static fetched = false;

    async makeFetch(url, target = null) {
        if(!serverFetch.fetched){
        try {
            serverFetch.fetched = true;
            let response = await fetch(url);
            
            if (!response.ok) {
                throw new Error(`Fehler beim Laden der Daten: ${response.status}`);
            }
            
            let data = await response.text();
        
            if (target) {
                target.innerHTML = data;
            }

            return data;

        } catch (error) {
            console.error('Fehler bei der Fetch-Anfrage:', error);
            throw error;
        } finally{
            serverFetch.fetched = false;
        }
    }
    }

    async makeformFetch(url, form) {
        try {
            serverFetch.fetched = true;
            let response = await fetch(url, {
                method: 'POST', 
                body: form,    
            });
    
            if (!response.ok) {
                throw new Error(`Fehler beim Laden der Daten: ${response.status}`);
            }
            
            let data = await response.text(); 
    
            return data; 
        } catch (error) {
            console.error('Fehler bei der Fetch-Anfrage:', error);
            throw error; 
        } finally{
            serverFetch.fetched = false;
        }
    }

}