一尘不染

如何判断页面是通过Ajax调用还是单独调用

ajax

我有一个页面可以通过Ajax加载其他页面(请考虑使用框架,除非没有框架)。

显然,这些页面都可以独立调用,因此我想检测是否通过Ajax调用了它们,如果不是,则重定向到主Ajax页面。

这些页面是php页面,因此我也可以访问它。

指数:

    goto = "StandalonePrograms.php";
    var clear = "<br style='clear:both;'>"
    if(goto != ''){
        $.ajax({
            url: goto,
            context: document.body,
            success: function(data){
                $('#mainwindow').html(data + clear);
                $('#mainwindow').find("script").each(function(i){
                    eval($(this).text());
                });
            }
        });
    }

阅读 182

收藏
2020-07-26

共1个答案

一尘不染

使用该XMLHttpRequest对象进行请求时,现代浏览器会添加以下请求标头:

X-Requested-With: XMLHttpRequest

在PHP中,使用以下命令检查此标头的存在:

$_SERVER['HTTP_X_REQUESTED_WITH']
2020-07-26