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']
and $_GET['_']
。 REQUEST_URI 将如下所示:
/somescript.php?somevar=somevalue&callback=jQuery172028849187534502896_1333494007273&_=1333494443880
编辑:下面的答案是查是否跨域,而不是检查是否是AJAX
“如何确定 ajax 调用是否来自不同域”问题的答案是:
我正在使用 jQuery.ajax 调用,对我来说使用变量$_SERVER['HTTP_REFERER']
工作正常。
如果我在本地计算机上使用页面,则此超全局返回一个空字符串。
如果我使用互联网上的页面,则值$_SERVER['HTTP_REFERER']
返回进行 ajax 调用的页面的 URL。因此,检查此值可以告诉您需要了解的内容。