php - AJAX post后如何实现302重定向?尝试实现 prg-pattern

标签 php jquery redirect seo

出于 SEO 原因,我正在尝试实现“post request get”模式,如本示例中所述: https://www.advertising.de/seo/wiki/prg-pattern.html

我的实现包含一个伪链接元素,通过 CSS 设置样式就像一个链接:

<span data-prg="redirect_url.html" class="btn redir-link" title="test">PRG Link test</span>

jquery AJAX POST 调用

<script type="text/javascript">
    var request;
    $(function() {
        $('.redir-link[data-prg]').click(function (e) {
            var $self = $(this);
            request = $.ajax({
                url: "/prg.php",
                type: "post",
                data: {
                    url: $self.data("prg")
                }
            });
        });
    });
</script>

将创建重定向 URL 并且应该通过 GET 进行 302 重定向的 PHP 文件

header("Location:".$_POST['url'], true, 302);
exit;

apache 日志表明该实现有效:

"POST/prg.php HTTP/1.1"302 “获取/redirect_url.html HTTP/1.1” 200

但是浏览器内的页面并没有改变。我怀疑通过 ajax 调用的 php 文件会改变,但这不是我想要的。应重定向原始页面。

我如何获得原始页面的 302 重定向?

最佳答案

您不能在 ajax 页面中重定向该页面对用户不可用,做一个简单的表单将触发对 prg 中的 /prg.php 的发布请求,然后您重定向回来

关于php - AJAX post后如何实现302重定向?尝试实现 prg-pattern,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40377928/

相关文章:

jquery - jquery中的wrap()

php - 将文件从 IPhone/IPad 上传到 mysql 数据库?

php - 制表符缩进显示在数据库中,但在使用 php 回显到页面时不显示

jQuery Plupload 限制上传数量

apache - HTACCESS 通过 HTTPS 重定向添加 WWW

.htaccess - htaccess 重定向子域

go - 在golang中打开一个url并读取重定向的url

PHP - 计算接近 50 公里的经纬度

javascript - 如何使用 javascript 生成输入类型下拉列表?

javascript - 排序日期不返回排序日期