oktatas:web:javascript:javascript_fetch:egyszeru_lancolt
Tartalomjegyzék
JavaScript fetch - egyszerű láncolt
- Szerző: Sallai András
- Copyright © Sallai András, 2021, 2023
- Web: https://szit.hu
JSON szerver
A fetch() függvény nem használható ha az URL, file protokollt tartalmaz. Ezért telepítünk egy json-server nevű szervert, ami HTTP protokollon keresztül szolgálja ki a JSON fájlt.
npm install --save-dev json-server
Összeállítunk egy JSON fájlt, ami dolgozok adatait tartalmazza:
- employees.json
{ "employees": [ { "id": 1, "fullname": "Nagy János", "city": "Szolnok", "salary": 8400000 }, { "id": 2, "fullname": "Páros Lajos", "city": "Szeged", "salary": 3430000 }, { "id": 3, "fullname": "Aranyos Enikő", "city": "Szolnok", "salary": 4245000 } ] }
Indítás:
json-server --watch employees.json --port 8000
Listázás
Az összes olvasása, listázása.
- app.js
var url = 'http://localhost:8000/employees/'; fetch (url) .then(res => res.json()) .then(data => { console.log(data); }).catch(err => { console.log(err); });
Az alapértelmezett metódus a GET, ezért ezt nem kell megadni. A fetch() függvény csak egy URL-t kap paraméterként.
Hozzáadás
Új dolgozó felvételéhez POST metódusra van szükség, az új dolgozó adataira; de azt is meg kell mondani, milyen formátumban küldjük az adatokat.
- app.js
var url = 'http://localhost:8000/employees/'; fetch (url,{ method: "post", body: JSON.stringify({ id: 5, fullname: 'Táncos Imre', city: "Szeged", salary: 2250000 }), headers: { "Content-Type": "application/json" } }) .then(response => response.json()) .then(result => { console.log(result); }).catch(err => { console.log(err); });
A példában id-t is küldünk, de ez nem kötelező. A json-server generál automatikusan.
Frissítés
- app.js
var url = 'http://localhost:8000/employees/5'; fetch (url,{ method: "put", body: JSON.stringify({ id: 5, fullname: 'Parkin Ede', city: 'Kátrány Levente', salary: 2175000 }), headers: { "Content-Type": "application/json" } }) .then(response => response.json()) .then(result => { console.log(result); }).catch(err => { console.log(err); });
Törlés
- app.js
var url = 'http://localhost:8000/employees/5'; fetch (url,{ method: "delete", }).catch(err => { console.log(err); });
Linkek
oktatas/web/javascript/javascript_fetch/egyszeru_lancolt.txt · Utolsó módosítás: 2023/03/11 13:29 szerkesztette: admin