Задать вопрос

Как узнать, что поступил JSON запрос на PHP?

Есть ли возможно узнать что поступил Ajax запрос для получения JSON.
Я наверное не правильно выразился.

Суть такова.
Есть некий каталог, при заходе нужно сделать так что бы страница открылась а товары подгружались. Вот думаю есть ли возможность узнать что на сервер поступил ajax запрос для получения JSON
  • Вопрос задан
  • 5396 просмотров
Подписаться 7 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
valerium
@valerium
Изобретая велосипед
@dpr дал неплохой совет, но если так уж хочется скрыть кухню от пользователя, то почему бы не воспользоваться встроенными в протокол HTTP возможностями?

На стороне клиента
xmlhttp.setRequestHeader('Accept', 'application/json');


На стороне сервера
if ($_SERVER['HTTP_ACCEPT'] == 'application/json') {
    // тут генерируем JSON
} else {
    // тут генерируем HTML
}


Использование HTTP-заголовка Accept предпочтительнее, чем HTTP_X_REQUESTED_WITH, потому что
  1. вы точно знаете, что передали заголовок ручками, а не полагаетесь на разработчиков браузера,
  2. используете более старую и устоявшюся (но не устаревшую) возможность, встроенную в протокол,
  3. оставляете себе задел на использование других представлений, например, XML, CVS, Plain text и т. д.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы