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

时间:2010-07-04 07:01:26

标签: 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_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”

,但Alert(数据)不会返回任何内容

我已手动发布到ajax.php,我的文本“1”即将出现在我的浏览器中。

我刚才注意到,如果我从回调中删除alert(),那么用户实际上并没有通过被调用的PHP脚本注销。我必须提醒(数据)以便用户注销。

我唯一能想到的是我在返回数据之前在PHP文件中发送Header信息(清除cookie)。这个可以吗?或者这是我的问题的原因?

我觉得我错过了一些明显的东西,如果是的话请告诉我。

1 个答案:

答案 0 :(得分:0)

我唯一想说的可能就是尝试:

return "1"

ajax请求使用智能来尝试找出返回数据类型,并且可能存在问题,因为它不是字符串而不是json或html。