Как обнаружить AJAX запрос в PHP

Сниппет

Во-первых, нет надежного способа узнать, что запрос был сделан через Ajax. Никогда не следует доверять данным, исходящим от клиента.

Но вы можете использовать хедеры для обнаружения AJAX запросов. Заголовок HTTP_X_REQUESTED_WITH отправляется всеми последними браузерами, поддерживающими запросы AJAX.

downloadcopy
if ( !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' )
{
       // это ajax запрос, тут ваш код
}

Начиная с PHP 7, с нулевым оператором объединения - код будет короче:

downloadcopy
$isAjax = 'xmlhttprequest' == strtolower( $_SERVER['HTTP_X_REQUESTED_WITH'] ?? '' );