Ugrás a tartalomra
Fejezetek

Hibaelhárítás

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.

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.