Собственно сам вопрос:
В чем принципиальное отличие определения ajax-запроса через
$_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' и через специальную переменную $_POST ?
Ну вот в конкретном приложении есть только POST запросы и других запросов не будет точно. Потому вдруг и возник подобный вопрос. Спасибо вам за разъяснение.
а что если запрос не POST, а GET или OPTIONS или DELETE? Будите писать что то типа ?ajax=true Смысла в этом нет, так как можно узнать что запрос является ajax - через заголовок. Ну и как написал sajgak, тут дело еще в семантике.