Ajax/PHP.post和.load不返回任何数据

Ajax/PHP.post和.load不返回任何数据,php,jquery,ajax,Php,Jquery,Ajax,我正在编写AJAX登录/注销表单。登录工作正常,但当有人点击“注销”时,我遇到了一些问题 Javascript: $("#logout").live("click", function(){ $.post("/hd/ajax.php",{ logout: "1" }, function(data) { alert(data); }); }); Ajax.php: if(isset($HTTP_POST_VARS['logout']) && $HTTP_PO

我正在编写AJAX登录/注销表单。登录工作正常,但当有人点击“注销”时,我遇到了一些问题

Javascript:

$("#logout").live("click", function(){
  $.post("/hd/ajax.php",{ logout: "1" }, function(data) { 
    alert(data); 
  });
});
Ajax.php:

 if(isset($HTTP_POST_VARS['logout']) && $HTTP_POST_VARS['logout'] == 1)
 { 
 $this->auth = false;
 $this->un = false;
 $this->id = false;
 setcookie ($this->cun, "", 1, "/", $this->chn, 0);
 setcookie ($this->cpw, "", 1, "/", $this->chn, 0);
 echo "1";
 return 1;
 }
单击后,将发送请求,用户将正常注销。尽管PHP函数返回“1”,但警报(数据)不会返回任何内容

我已经手动发布到ajax.php,我的浏览器中出现了文本“1”

我还注意到,如果我从回调中删除alert(),用户实际上不会通过被调用的PHP脚本注销。为了让用户注销,我必须发出警报(数据)

我唯一能想到的是,在返回数据之前,我正在PHP文件中发送头信息(清除cookies)。这样行吗?还是这就是我问题的原因


我觉得我遗漏了一些明显的东西,如果是,请告诉我

我唯一想说的是,也许可以尝试做:

return "1"

ajax请求使用智能来尝试找出返回的数据类型,可能会出现问题,因为它不是字符串,也不是json或html。

您是否验证了正在发送ajax请求以及服务器返回的结果是否正确?您可以为此使用FireBug。您使用
$HTTP\u POST\u VARS['logout']
而不是
$\u POST['logout']
的原因是什么?