Detekce AJAXových požadavků na serveru

Pokud používáte na klientské straně nějakou javascriptovou knihovnu, jako je třeba jQuery, můžete snadno odlišit, zda požadavek, který přišel na server, je poslán přímo prohlížečem, nebo skriptem. Mnohé knihovny (kromě jQuery třeba i Mootools, YUI či Prototype) totiž přidávají k požadavkům, posílaným přes XMLHttpRequest, speciální hlavičku:

if ( !remote ) {
 xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
}

Na serveru lze takový požadavek snadno rozpoznat, např. v PHP pomocí podmínky

$_SERVER[ 'HTTP_X_REQUESTED_WITH' ] === 'XMLHttpRequest'

Není tedy třeba přidávat k požadavku nějaké speciální příznaky ( ?ajax=1  apod.)

Zdroj: Detecting Ajax Events on the Server @ Learning jQuery

Začal programovat v roce 1984 s programovatelnou kalkulačkou. Pokračoval k BASICu, assembleru Z80, Forthu, Pascalu, Céčku, dalším assemblerům, před časem v PHP a teď by rád neprogramoval a radši se věnoval starým počítačům.

Komentáře: 12

Přehled komentářů

Kacer Donald Zaskodnik
cooler Re: Zaskodnik
Martin Malý Re: Zaskodnik
Strycek Skrblik Re: Zaskodnik
Martin Malý Re: Zaskodnik
cooler zend
Martin Malý Re: zend
DG Re: zend
Martin Malý Re: zend
Michal Augustýn Re: zend
Vlastik Re: zend
Jakub Vrána Kešování
Zdroj: https://www.zdrojak.cz/?p=1025