PHP头文件是否从外部文件重定向?

PHP头文件是否从外部文件重定向?,php,ajax,Php,Ajax,我不确定这是否可行,也不确定如何实施 我有一个纯HTML文件,onload对PHP文件执行ajax请求,PHP脚本返回页面的主要内容。我想知道这是否可能是。。当我向PHP发送请求时,当会话/cookie未设置时,PHP能否将请求页面重定向到其他页面?为什么不让PHP脚本返回一条消息/值,指示会话/cookie未设置,并让JavaScript执行重定向?(如果没有设置cookie,您实际上可以使用JavaScript检查它,并跳过整个Ajax/PHP部分)。如果您将脚本更改为返回JSON而不是HT

我不确定这是否可行,也不确定如何实施


我有一个纯HTML文件,onload对PHP文件执行ajax请求,PHP脚本返回页面的主要内容。我想知道这是否可能是。。当我向PHP发送请求时,当会话/cookie未设置时,PHP能否将请求页面重定向到其他页面?

为什么不让PHP脚本返回一条消息/值,指示会话/cookie未设置,并让JavaScript执行重定向?(如果没有设置cookie,您实际上可以使用JavaScript检查它,并跳过整个Ajax/PHP部分)。

如果您将脚本更改为返回JSON而不是HTML,则可以设置回调将识别的标志,并在必要时重定向。使用jQuery:

<script>
    $.post('/some/script.php', function(response) {
        if (response.redirect) {
            window.location = 'new/location';
        } else {
            // update HTML content
        }
    });
</script>

$.post('/some/script.php',函数(响应){
if(response.redirect){
window.location='new/location';
}否则{
//更新HTML内容
}
});

您可以重定向ajax请求,但如果您将其重定向到服务器之外,您将遇到跨域安全限制。好的,接下来的问题是如何使其正常工作。PHP能说出发送请求的文件名吗?理想情况下,我希望file1.html和file2.html发送基本相同的请求,但我希望重定向到不同的位置。PHP能够使用来自file1.html的请求的引用器吗?您可以使用$\u SERVER['HTTP\u REFERER']来检测它来自何处,但最好在AJAX请求中发布某种标识。