Payload Logo

Slanje/primanje podataka pomoću HTTP requestova

Author

Date Published

Za testiranje slanja/primanja zahtjeva koristimo servis mockapi.io. Zamijenite dio koda u fetch zahtjevu s vlastitim API endpointom nakon kreiranja računa.

GET zahtjev

GET zahtjev se koristi za dohvaćanje podataka sa servera.

Tijelo zahtjeva (body) se ne šalje.

1async function fetchData() {
2 try {
3 const response = await fetch('https://654cbf0377200d6ba85956f1.mockapi.io/users');
4
5 if (!response.ok) {
6 throw new Error(`HTTP error! Status: ${response.status}`);
7 }
8
9 const data = await response.json();
10 console.log('Fetched data:', data);
11 } catch (error) {
12 console.error('Error fetching data:', error.message);
13 }
14}
15
16fetchData();
17

POST zahtjev

POST zahtjev se koristi za slanje podataka serveru.

Potrebno je specificirati zaglavlja (headers) i poslati podatke kao tijelo zahtjeva.

1async function sendData() {
2 const formData = {
3 name: 'John Doe',
4 age: 30,
5 gender: 'male',
6 };
7
8 try {
9 const response = await fetch('https://654cbf0377200d6ba85956f1.mockapi.io/users', {
10 method: 'POST',
11 headers: {
12 'Content-Type': 'application/json',
13 },
14 body: JSON.stringify(formData),
15 });
16
17 if (!response.ok) {
18 throw new Error(`HTTP error! Status: ${response.status}`);
19 }
20
21 const data = await response.json();
22 console.log('Data saved:', data);
23 } catch (error) {
24 console.error('Error sending data:', error.message);
25 }
26}
27
28sendData();
29

fetch(): Koristi se za HTTP zahtjeve u JavaScriptu.

GET zahtjev:

Za dohvaćanje podataka navodi se samo URL.

Nema potrebe za dodavanjem tijela (body) zahtjeva.

POST zahtjev:

Metoda se specificira kao 'POST'.

U zaglavljima (headers) navodimo tip sadržaja, najčešće application/json.

Podaci koji se šalju moraju biti u JSON formatu, što se postiže pomoću JSON.stringify().

HTTPS Response kodovi

1xx – Informativni odgovori

100 Continue: Klijent može nastaviti s traženjem. Server je zaprimio početak zahtjeva.

2xx – Uspjeh

200 OK: Zahtjev je uspješno obrađen. (Koristi se za GET, POST, PUT, itd.)

201 Created: Resurs je uspješno kreiran. (Obično kod POST zahtjeva.)

204 No Content: Zahtjev je uspješno obrađen, ali nema sadržaja za povrat.

3xx – Preusmjeravanje

301 Moved Permanently: Resurs je trajno premješten na novu lokaciju.

302 Found: Resurs je privremeno dostupan na drugoj lokaciji.

4xx – Greška na strani klijenta

400 Bad Request: Zahtjev je pogrešno formiran ili server ne razumije što klijent traži.

401 Unauthorized: Klijent nije ovlašten za pristup resursu. (Nedostaje autentifikacija.)

403 Forbidden: Klijent nema dozvolu za pristup resursu.

404 Not Found: Traženi resurs nije pronađen na serveru.

5xx – Greška na strani servera

500 Internal Server Error: Došlo je do nepoznate greške na serveru.

502 Bad Gateway: Server je dobio nevažeći odgovor od drugog servera.

503 Service Unavailable: Server trenutno nije dostupan (npr. zbog održavanja).

Za informacije o stanju zahtjeva, koristimo developer tools u browseru (F12).