php标头重定向无法正常工作

时间:2010-09-30 15:49:15

标签: php redirect header http-headers


我正在使用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 :(得分:0)

试试:

<?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
});