小编典典

检测Ajax调用URL

ajax

我有一个HTML文档,该文档使用AJAX调用从PHP文件加载内容。我的代码的重要部分如下:

default.html:

/*more code above*/
var PHP_URL = "content.php";
var Content = document.getElementById('Content');
ajaxRequest = new XMLHttpRequest();
ajaxRequest.onreadystatechange =
    function() {
        if(ajaxRequest.readyState==4) {
            if (ajaxRequest.status==200)
                Content.innerHTML = ajaxRequest.responseText;
            else
                Content.innerHTML = "Error:<br/>unable to load page at <b>"+PHP_URL+"</b>";
            Content.className = "Content Solid";
        }
    }
ajaxRequest.open("GET",PHP_URL,true);
ajaxRequest.send();
/*more code below*/

“ content.php”中的文件是否有可能检测到是否已从“ default.html”或其他调用文档中对其进行了调用?


阅读 241

收藏
2020-07-26

共1个答案

小编典典

jQuery和mooTools等最著名的Ajax框架都会添加一个特定的标头,您可以使用PHP进行检查:

if (strcasecmp('XMLHttpRequest', $_SERVER['HTTP_X_REQUESTED_WITH']) === 0)
{
    // Ajax Request
}
2020-07-26