AJAXpost后如何实现302重定向?尝试实现 prg-pattern
How to achieve a 302 redirect after AJAX post? Trying to implement prg-pattern
出于 SEO 原因,我正在尝试实施 "post request get" 模式,如本示例中所述:
https://www.advertising.de/seo/wiki/prg-pattern.html
我的实现包含一个伪 link 元素,通过 CSS 设置样式,类似于 link:
<span data-prg="redirect_url.html" class="btn redir-link" title="test">PRG Link test</span>
一个jqueryAJAXPOST调用
<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>
Th PHP 文件将创建重定向 URL 并且应该通过 GET
进行 302 重定向
header("Location:".$_POST['url'], true, 302);
exit;
apache 日志指出实施有效:
"POST /prg.php HTTP/1.1"302
"GET /redirect_url.html HTTP/1.1"200
但是浏览器里面的页面没有变化。我怀疑通过 ajax 调用的 php 文件会发生变化,但这不是我想要的。应重定向原始页面。
如何获得原始页面的 302 重定向?
您不能在 ajax 页面中重定向该页面对用户不可用,做一个简单的表单将触发 post 请求到 prg 中的 /prg.php
然后您重定向回来
出于 SEO 原因,我正在尝试实施 "post request get" 模式,如本示例中所述: https://www.advertising.de/seo/wiki/prg-pattern.html
我的实现包含一个伪 link 元素,通过 CSS 设置样式,类似于 link:
<span data-prg="redirect_url.html" class="btn redir-link" title="test">PRG Link test</span>
一个jqueryAJAXPOST调用
<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>
Th PHP 文件将创建重定向 URL 并且应该通过 GET
进行 302 重定向header("Location:".$_POST['url'], true, 302);
exit;
apache 日志指出实施有效:
"POST /prg.php HTTP/1.1"302 "GET /redirect_url.html HTTP/1.1"200
但是浏览器里面的页面没有变化。我怀疑通过 ajax 调用的 php 文件会发生变化,但这不是我想要的。应重定向原始页面。
如何获得原始页面的 302 重定向?
您不能在 ajax 页面中重定向该页面对用户不可用,做一个简单的表单将触发 post 请求到 prg 中的 /prg.php
然后您重定向回来