Skip to content
Az oldal tartalma

Axios

Telepítése

NPM segítségével lehet a legegyszerűbben felhasználni:

shell
npm i axios

Amennyiben hagyományos ES projekthez eszertnénk használni, abban az esetben a HTML-ben a <script>-ünk elé kell elhelyezni a köveztkezőt:

HTML
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>

Kérések felépítse

Alapvetően az axios egy XHR műveletet fog a háttérben végezni. Ennek során előre összeállított konfigurációból dologozik. A kérések során továbbá az adatok konvertálásával sem kell foglalkozni, ugyanis beépítetten végzi azt el. Sőt szemben a fetch-el a Laravel biztsonsági előírásait is tudja kezelni, mint például a CSRF token.

Az axios használatához először importálnunk kell azt.

JavaScript
import axios from "axios";

Ezt követően az axios-on a kérés típusának megfelelő függvényt fogjuk meghívni. Ezekre az alábbiakban látunk egy-egy példát:

GET

js
async getData(){
  const response = await axios.get('https://kedvenchelyem.tld/api');
  return response;
}

POST

js
async createData(data){
  const response = await axios.post('https://kedvenchelyem.tld/api',data);
  return response;
}

PUT

js
async modifyData(id,data){
  const response = await axios.put(`https://kedvenchelyem.tld/api/${id}`,data);
  return response;
}

DELETE

js
async deleteData(id){
  const response = await axios.delete(`https://kedvenchelyem.tld/api/${id}`);
  return response;
}

Válaszok feléíptése

A válaszokban egy objectet kapunk, amely a következő adatokat tárolja:

KulcsLeírás
dataTényleges adat amit küld a server
statusMilyen kóddal tért vissza a kérés
statusTextMilyen üzenetet küldött vissza a szerver
headersA szerver által küldött fejlécek
configAdott példányunk beállításai
requestTénylegesen lefuttatot kérés

Saját példány

Lehetőségünk van arra, hogy létrehozzunk egy saját példányt is, amelynek előre megadhatjuk a konfigurációt. Ezt az axios.create() segítségével tudjuk megtenni, és általában célszerű külön madulba szervezni annak érdekében, hogy több fájl számára is elérhetővé váljon.

js
//http.mjs
import axios from 'axios';

export default const http = axios.create({
  baseURL: "https://kedvenchelyem.tld",
  headers: {'Authorization': 'Bearer my_token'}
});

Bármilyen alap konfigot megadhatunk neki amit szeretnénk, ha alapértelmezetten minden kérés tudna kezelni, ilyen például a baseURL, aminek megadása után már csak az url megfelelő részét kell függvényhíváskor.

Pl:

js
import {http} from "./http.mjs"

async getData(){
  const response = await http.get("api");
  return response;
}

Interceptors

Ellenőrző kérdések

\pagebreak

A tananyag jelenlegi verziója: 4.0.0