# AJAX-hibák elhárítása

> Mi az az AJAX, hogyan nézheted meg a kéréseit a böngésző fejlesztői eszközeiben, és mit jelentenek a leggyakoribb AJAX-hibák.

Az AJAX (Asynchronous JavaScript and XML) olyan technika, amellyel az oldal a háttérben küld és fogad adatot a szerverrel, anélkül, hogy az egész oldalt újratöltené. Így frissülhet az oldal egy része önállóan.

> **Megjegyzés**
>
> Ez a fejezet haladó hibakeresésről szól. Ha nem érzed magadénak, kérj segítséget egy tapasztalt WordPress- vagy WooCommerce-fejlesztőtől.

## Hol találkozol AJAX-szal a boltban

- **Termékkeresés:** amikor beírsz a keresőmezőbe, az oldal újratöltés nélkül mutat találatokat.
- **Kosárba tétel:** amikor egy terméket a kosárba teszel, a kosár azonnal frissül, az oldal nem töltődik újra.

Ha ezek a funkciók nem reagálnak, vagy a kosár nem frissül, érdemes AJAX-hibára gyanakodni.

## A kérések megnézése a böngészőben

A böngésző fejlesztői eszközeivel láthatod az AJAX-kéréseket.

1. Kattints jobb gombbal az oldalra, és válaszd az **Inspect** (Vizsgálat) menüpontot, vagy nyomd meg a `Ctrl+Shift+I` billentyűket (Windowson), illetve a `Cmd+Option+I` billentyűket (Macen).
2. Nyisd meg a **Network** (Hálózat) fület. Itt látod a hálózati forgalmat az oldal betöltésekor és használata közben.
3. Végezd el azt a műveletet, amely az AJAX-kérést indítja (például tegyél egy terméket a kosárba).
4. Nézd meg az új sorokat a Network fülön. Egyre kattintva látod a kérés fejléceit, a szerver válaszát és az elküldött vagy kapott adatot.

Ezekből kiderül, milyen adatot küld és kap a szerver, és hol akad el a folyamat.

## Gyakori AJAX-hibák

| Hiba | Mit jelent | Mit tegyél |
|---|---|---|
| A szerver nem találja a kért erőforrást (404) | Az AJAX-kérés címe hibás. | Ellenőrizd, hogy a kérés címe létező útvonalra vagy végpontra mutat-e a szerveren. |
| A szerver váratlan hibába futott (500) | Szerveroldali probléma, például hiba a kérést kezelő szkriptben. | Nézd át a szerveroldali kódot, vagy a szerver naplóit, hogy kiderüljön, mi okozza a hibát. |
| A szerver megtagadja a választ (403) | A szerver jogosultságai megakadályozzák a kérést. | Gondoskodj róla, hogy a kérésnek megvan a szükséges jogosultsága, és ha kell, hitelesített. |
| Nincs válasz, a kérés időtúllépéssel leáll | A szerver túl sokáig nem válaszolt. | Gyorsítsd fel a szerveroldali folyamatot, vagy emeld meg a kérés időkorlátját. |
| A válasz nem értelmezhető | A válasz formátuma hibás, általában nem megfelelő JSON vagy XML. | Gondoskodj róla, hogy a szerver a kérés által várt formátumban és tartalomtípussal válaszoljon. |

Bármilyen AJAX-hibánál érdemes először a böngésző **Network** fülét megnézni: a kérés fejléceiből, az állapotkódból és a szerver válaszából gyorsabban kiderül a probléma oka.
