使用fancybox - 如何判断HTTP请求是否为AJAX?

Ali*_*Ali 1 ajax zend-framework

我正在使用 fancybox插件来加载页面并执行一些代码.问题在于,有时人们总是有机会在页面完全加载之前点击意图在fancybox窗口中打开的链接,并且设置了fancybox插件,打开页面看起来在完整的浏览器窗口中搞砸了.有没有办法判断HTTP请求是否是通过ajax,所以我可以相应地设置我的布局.

我正在使用zend框架并定义了两个布局,一个用于使用fancybox打开的页面,另一个是常规页面布局.

Mar*_*cin 5

在您的操作中,您可以使用isXmlHttpRequest()方法来检测ajax请求.例如,您可以这样做:

public function onlyajaxAction() {

    if ($this->getRequest()->isXmlHttpRequest()) {
        // handel ajax request.           
    } else {
        // if not an ajax request, e.g. throw an exception or whatever
    }
}
Run Code Online (Sandbox Code Playgroud)