Вопрос

Есть ли в заголовке HTTP-запроса что-нибудь, что позволило бы мне различать вызов AJAX и прямой запрос браузера от данного клиента? Строки пользовательского агента обычно одинаковы независимо?

Это было полезно?

Решение

Если вы используете Prototype, jQuery, Mootools или YUI, вы должны найти заголовок X-Requested-With: XMLHttpRequest , который поможет вам. Должна быть возможность вставить любой заголовок, который вам нравится, с другими библиотеками.

На самом низком уровне, учитывая объект XMLHttpRequest или XMLHTTP, этот заголовок можно установить с помощью setRequestHeader следующим образом:

xmlHttpRequest.setRequestHeader('X-Requested-With', 'XMLHttpRequest');

Другие советы

После некоторых исследований кажется, что наилучшим подходом было бы просто указать пользовательскую строку пользовательского агента при выполнении вызовов AJAX и затем проверить эту пользовательскую строку пользовательского агента на сервере.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top