我正在使用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 });
答案 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
});