【发布时间】:2016-04-14 00:00:52
【问题描述】:
我有一个文件,当被调用时,它应该重定向到另一个位置。 为了确保在标头之前没有发送任何内容,我调用了一个文件,其唯一内容是标头。我也尝试使用其他方法重定向,但似乎没有任何效果。代码如下:
首先有一个 ajax 调用(成功)将一些数据发送到 file1.php
$.ajax({
url: "file1.php",
type: "POST",
data: {id:10},
success: function(){
},
error: function (){
}
});
file1.php 获取数据并调用bridge.php
<?
if (isset($_POST['id'])) {
$selected_id = $_POST['id'];
}
require('./code/bridge.php');
?>
文件bridge.php 应该重定向到新的url。我尝试了以下(不是同时) 1.
<script>location.href='https://www.google.al/?gws_rd=cr,ssl&ei=l82QVqyAHIb6O5bJs6gK'</script>
2.
<?
echo '<META HTTP-EQUIV="Refresh" Content="0; URL= https://www.google.al/?gws_rd=cr,ssl&ei=l82QVqyAHIb6O5bJs6gK">';
?>
3.
<?
header("location: /edit_document");
?>
4.
<?
ob_start();
header("location: /edit_document");
?>
我正在使用 firebug 来查看响应。它给出状态 200(请求已完成)。 POST 给出了我发送的正确参数。响应给出了我试图重定向的页面。但不会发生重定向。
我将代码缩减到这一点,以消除所有可能导致问题的东西。我知道您可能想知道为什么我要编写一个似乎什么都不做的代码。但如果它不能像这样工作,我怀疑我是否可以通过许多其他电话来解决问题。另外,我打算使用标头进行重定向,但出于绝望尝试了其他选项。
【问题讨论】:
-
放exit();就在 header("location: /edit_document"); 之后
标签: php ajax redirect http-headers