Edit2:
Если вы используете функцию jQuery.ajax следующим образом:
var request = $.ajax({
url: "http://somesite.com/somescript.php?somevar=somevalue",
dataType: "jsonp",
jsonp: 'callback',
success: function(data) {
alert('Done!');
}
});
Затем вы можете проверить переменную $_SERVER['REQUEST_URI']
или просто $_GET['callback']
и $_GET['_']
. REQUEST_URI будет выглядеть так:
/ somescript.php? Somevar = SomeValue & обратного вызова = jQuery172028849187534502896_1333494007273 & _ = 1333494443880
Изменить: Ответ ниже, чтобы выяснить, является ли он междоменным или нет, не проверяя, является ли это AJAX
Ответ на вопрос «Как определить, является ли ajax-вызов из другого домена»:
Я использую вызов jQuery.ajax, а для меня переменная $_SERVER['HTTP_REFERER']
работает нормально.
Если я использую страницу на локальном компьютере, этот суперглобальный возвращает пустую строку.
Если я использую страницу в Интернете, значение $_SERVER['HTTP_REFERER']
возвращает URL-адрес страницы, которая сделала вызов ajax. Так что проверка значения этого может сказать вам, что вам нужно знать.