当前位置: 首页 > 面试题库 >

检测Ajax调用URL

柴寂离
2023-03-14
问题内容

我有一个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”或其他调用文档中对其进行了调用?


问题答案:

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

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


 类似资料:
  • 问题内容: 如何在ASP.net应用程序的服务器端检测请求是否为AJAX请求(来自jQuery)。我不想这样做:mypage.aspx?this_is_ajax = true … 例如 在服务器端,当请求是ajax请求时,我想做某些事情… 谢谢! 问题答案: ASP.NET MVC对此做了很大的扩展,可以与JQuery一起使用。它以这种方式检查它: 检查核心集合: 检查标头集合(确保其不为null

  • 问题内容: 是否可以通过通用JavaScript(而不是框架)检测网页上的全局AJAX调用(尤其是响应)? 我已经在StackOverflow上审查了“JavaScript检测到AJAX事件 ” 的问题,并尝试将接受的答案的代码修补到我的应用程序中,但是没有用。之前,我从未使用AJAX做任何事情,我还不足以对其进行修改以使其正常工作。 我不需要任何花哨的东西,我只需要检测所有(特定的,实际上,但是

  • 问题内容: 好的,所以基本上我想在页面上放一些JavaScript,以某种方式附加某种全局事件侦听器,该侦听器可以在发出ajax请求时检测并执行某些操作(无需直接从调用中调用它),而不管ajax如何打电话了。 我想出了如何使用jquery-如果ajax请求是 由 jquery 完成 的 。这是一个示例代码: 使用此代码,无论我在哪里/如何调用$ .post(..),全局事件监听器都会触发。如果我使

  • 我正在编写一个Servlet-Filter,它包装响应并分析对包装响应的addHeader()的调用。在将响应提交给客户机之前,如果合适的话,它会用一些有用的完整头(缓存、压缩等)装饰它。 我能想到的唯一方法是包装请求,捕获对servletRequest.getRequestDispatcher()的调用,并返回一个包装好的RequestDispatcher实例,当调用include-method

  • 问题内容: 我正在网上浏览,但是很难获得文档。我们都知道使用浏览器的内置对象进行基本的AJAX调用(此处为现代浏览器): 因此,有没有一种方法可以通过在浏览器中检查XMLHttpRequest对象来检测AJAX调用是否超时?建议我做类似的事情吗? 谢谢! -麦克风 问题答案: 更新: 这是一个如何处理超时的示例: 在IE8中,您可以向对象添加超时事件处理程序。 我建议不要像代码所暗示的那样进行同步

  • 问题内容: 好的,所以基本上我想在页面上放置一些JavaScript,以某种方式附加某种全局事件侦听器,该侦听器可以在发出ajax请求时检测并执行某些操作(而无需从调用中直接调用),而不管ajax如何打电话了。 我想出了如何使用jquery-如果ajax请求是 由 jquery 完成 的 。这是一个示例代码: 使用此代码,无论我在哪里/如何调用$ .post(..),全局事件监听器都会触发。如果我