Script • AJAX Fetch & API-klienter

FetchClient med retry og timeout

Liten JavaScript-klient for robuste AJAX-kall.

class FetchClient {
  constructor(baseUrl = '') {
    this.baseUrl = baseUrl;
  }

  async request(path, options = {}, timeout = 8000) {
    const controller = new AbortController();
    const timer = setTimeout(() => co
Weboracle
02.12.20250 visningerAJAX

Liten JavaScript-klient for robuste AJAX-kall.

FetchClient med retry og timeout

Liten JavaScript-klient for robuste AJAX-kall.

Når bør du bruke scriptet?

Dette scriptet passer når du vil løse én konkret oppgave raskt, men fortsatt holde kvaliteten høy nok til at koden tåler å bli flyttet inn i produksjonsflyt senere.

Hvorfor er dette nyttig i WEBoracle?

WEBoracle kombinerer innhold, adminverktøy og backendflyt. Små, fokuserte scripts gjør det mulig å bygge funksjoner stegvis uten å blande alt inn i samme fil.

Kode

class FetchClient {
 constructor(baseUrl = '') {
 this.baseUrl = baseUrl;
 }

 async request(path, options = {}, timeout = 8000) {
 const controller = new AbortController();
 const timer = setTimeout(() => controller.abort(), timeout);

 try {
 const response = await fetch(this.baseUrl + path, {
 ...options,
 headers: {
 'X-Requested-With': 'XMLHttpRequest',
 ...(options.headers || {})
 },
 signal: controller.signal
 });

 return response;
 } finally {
 clearTimeout(timer);
 }
 }
}

Tilpasning

  • Bytt ut hardkodede navn og tabeller før produksjon.
  • Legg til logging hvis scriptet kjører i adminnære eller sikkerhetskritiske løp.
  • Pakk logikken inn i en tjeneste eller modul når du ser at den blir gjenbrukt.