Как обнаружить AJAX запрос в PHP
Сниппет
Во-первых, нет надежного способа узнать, что запрос был сделан через Ajax. Никогда не следует доверять данным, исходящим от клиента.
Но вы можете использовать хедеры для обнаружения AJAX запросов. Заголовок HTTP_X_REQUESTED_WITH
отправляется всеми последними браузерами, поддерживающими запросы AJAX.
if ( !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' )
{
// это ajax запрос, тут ваш код
}
Начиная с PHP 7, с нулевым оператором объединения - код будет короче:
$isAjax = 'xmlhttprequest' == strtolower( $_SERVER['HTTP_X_REQUESTED_WITH'] ?? '' );