#jquery #web-services
#jquery #веб-сервисы
Вопрос:
Я создал одну веб-службу, которая может вызываться из Интернета с помощью вызова jQuery ajax или может вызываться из созданного мной настольного приложения
Я хочу знать в этом методе веб-сервиса.. Это вызов ajax или нет ?..
Возможно ли это?
Комментарии:
1. Я не понимаю, что вы имеете в виду
2. Метод веб-службы, называемый двухсторонним.. С веб-сайта с помощью вызова jQuery ajax, а также из настольного приложения.. Я просто хочу знать, кто вызвал этот метод?
Ответ №1:
Если HTTP_X_REQUESTED_WITH
переменная сервера установлена и равна ‘XMLHttpRequest’, можно предположить, что запрос был сделан через jQuery AJAX.
Комментарии:
1. @Yank: это ваш лучший выбор, но он не на 100%. Большинство библиотек Ajax устанавливают этот заголовок, но пользовательский код может этого не делать… И настольные приложения тоже не могут.
2. jQuery устанавливает эту переменную, и, по-видимому, OP хочет различать, был ли запрос сделан через jQuery или настольное приложение, и в этом случае это было бы подходящим.
Ответ №2:
Как ответил @Tatu Ulmanen, вы можете проверить HTTP_X_REQUESTED_WITH
, что переменная сервера установлена и равна 'XMLHttpRequest'
, чтобы знать, что запрос является ajax.
Для того, чтобы это работало, важно, чтобы правильный заголовок был установлен вами или используемой библиотекой javascript. В противном случае невозможно провести различие, потому что запросы ajax являются обычными GET
или POST
запросами