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.