Перенаправление заголовка php не работает - PullRequest
0 голосов
/ 30 сентября 2010


Я использую ajax-вызов для запуска перенаправления php с использованием заголовков.Согласно инструментам разработчика Chrome, содержимое страницы загружено (то есть: находится в списке ресурсов), но страница никогда не перенаправляется.

Я не получаю никаких кодов ошибок.Вот php:

<?php  
ini_set('display_errors', false);  
if (!isset($_SESSION)) {  
  if($_POST['email']){  
    ...several calls to external db...  
    if(strlen($response->supporter->item->Email))
      //user is a member
      header('Location: http://www.example.com/page-one/');
    else
      header('Location: http://another-site.com/');
  }
}
?>

Почти такой же код работает в другой части сайта.Любые идеи, почему это вытягивает правильный контент, но не загружает его на странице?

вызов ajax:

$.post("http://www.our_site.org/is_member.php", { email: email });

1 Ответ

0 голосов
/ 01 октября 2010

Попробуйте это:

<?php  
ini_set('display_errors', false);  
if (!isset($_SESSION)) {  
  if($_POST['email']){  
    ...several calls to external db...  
    if(strlen($response->supporter->item->Email))
      //user is a member
      echo ('Location: http://www.example.com/page-one/');
    else
      echo ('Location: http://another-site.com/');
  }
}

?>

И внутри вашего js сделайте это:

$.ajax({
  type: 'POST',
  url: "http://www.our_site.org/is_member.php",
  data: {email: email },
  success: function(output){ window.location = output; }
  dataType: dataType
});
...