У меня есть файл, который при вызове должен перенаправляться в другое место. Чтобы убедиться, что ничего не отправлено перед заголовком, я вызываю файл, единственным содержимым которого является заголовок. Я также пытался перенаправить другие методы, но ничего не работает. Вот код:перенаправление с php не работает
первый есть 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");
?>
Я использую поджигатель для см. ответ. Он дает статус 200 (запрос выполнен). POST дает правильный параметр, который я отправил. Ответ дает страницу, на которую я пытаюсь перенаправить. Но перенаправления не произойдет.
Я уменьшил код до этой точки, чтобы устранить все, что может вызвать проблемы. Я знаю, что вы можете задаться вопросом, зачем мне писать код, который, кажется, ничего не делает. Но если это не сработает, я сомневаюсь, что у меня возникла проблема с множеством других вызовов. Кроме того, я намеревался использовать заголовок для перенаправления, но попробовал другие варианты из отчаяния.
Put exit(); сразу после заголовка («location:/edit_document»); –