我正在开发一个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)。这个可以吗?或者这是我的问题的原因?
我觉得我错过了一些明显的东西,如果是的话请告诉我。
答案 0 :(得分:0)
我唯一想说的可能就是尝试:
return "1"
ajax请求使用智能来尝试找出返回数据类型,并且可能存在问题,因为它不是字符串而不是json或html。