Wykrywanie żądań ajaxowych w php
W artykule napiszemy funkcję, która będzie sprawdzała czy dane żądanie HTTP jest żądaniem ajaxowym. Kiedy ajaxowe żądanie jest wykonywane wysyłany jest nagłówek X_REQUESTED_WITH lub HTTP_X_REQUESTED_WITH). Jego wartością jest XMLHttpRequest. Dostęp do powyższych nagłówków uzyskujemy za pomocą tablicy $_SERVER np. $_SERVER['X_REQUESTED_WITH']. Funkcja sprawdzająca przedstawia się następująco.
function is_ajaxRequest() { if(array_key_exists('X_REQUESTED_WITH', $_SERVER)) { $index = 'X_REQUESTED_WITH'; } else { $index = 'HTTP_X_REQUESTED_WITH'; } $isXmlHttpRequest = array_key_exists($index, $_SERVER) && $_SERVER[$index] == 'XMLHttpRequest'; return $isXmlHttpRequest; }Najpierw sprawdzamy za pomocą funkcji array_key_exists(), z którym indeksem tablicy $_SERVER mamy do czynienia. Na koniec sprawdzamy czy określony indeks istnieje w tablicy $_SERVER oraz czy jego wartością jest XMLHttpRequest.