Я действительно провел обширное исследование stackoverflow и нашел много вопросов и ответов, но до сих пор не могу понять, что не так с фрагментом кода.
Намерение: В принципе, я хочу чтобы проверить, сделан ли запрос API извлечения или нет. Если это не так, я хочу, чтобы PHP выводил только небольшую часть запрошенной страницы. Мне известно, что API-интерфейс fetch не отправляет заголовки изначально. Однако я использую библиотеку выборки, которая успешно отправляет 'X-Requested-With': 'fetch'
(https://github.com/getdave/fetch-pjax). Мне также известно о возможной подмене заголовка et c. Это небольшой веб-сайт без каких-либо учетных данных пользователя / файлов cookie или аналогичных.
Код на данный момент:
$headers = getallheaders();
if(isset($headers['X-Requested-With']) && strtolower($headers['X-Requested-With']) == 'fetch') {
echo 'requested by the fetch API';
} else {
echo 'NOT requested by the fetch API';
}
Вывод: Это всегда повторяется это не вызов API выборки, хотя, согласно инструментам разработки Chrome, отправляется заголовок 'X-Requested-With': 'fetch'
. Если я повторяю все заголовки $, это, конечно же, повторяет все заголовки. Может быть, есть еще пара XHR-запросов (не fetch API) от плагина анимации ( lott ie. js), сделанных одновременно с запросом fetch (см. скриншот ниже)?
Спасибо за любой совет!