使用AJAX注销无法正常工作

时间:2015-01-19 07:11:34

标签: php jquery ajax

我想点击此按钮退出

html输入

<input type="button" value="logout" id="top-btn-logout" onclick="test()"> 

my js file

function test()
{
    $("#top-btn-logout").click(function() {
        $.ajax({
            url: 'http://localhost/New%20folder/vigcheck.php?action=logout',
            success: function(data){
            alert(data);
                   //location.reload();
                //window.location.href = data;
            }
        });
    });


}  



check.php file.   

<?php
if(isset($_GET['action']) == "logout" ){

    //$_SESSION = array();
    session_destroy();
    session_unset();  
    echo "logout";exit;
}?>

4 个答案:

答案 0 :(得分:1)

首先使用jquery ajax尝试使用正确的get请求

$.ajax({
            url: 'http://localhost/New%20folder/vigcheck.php',
            type: 'get',
            data:{action:'logout'},
            success: function(data){
            alert(data);
                   //location.reload();
                //window.location.href = data;
            }
        });

然后check.php文件。 (你要结合条件来检查两个条件是否分开使用)

<?php
if(isset($_GET['action'])  && $_GET['action'] == "logout" ){

    //$_SESSION = array();
    session_destroy();
    session_unset();  
    echo "logout";exit;
}?>

答案 1 :(得分:1)

  if(isset($_GET['action']) == "logout" ){

这是不正确的,因为isset将返回true和true!=&#39; logout&#39;所以把它作为

 if(isset($_GET['action'])){
   if($_GET['action']=="logout";
     //do whatever you wanna do
 }

答案 2 :(得分:0)

您需要在ajax请求成功时检查check.php文件中的返回数据。之后,将用户重定向到您的登录页面。

答案 3 :(得分:0)

试试这个会起作用:

JS文件:

function test()
{
    $("#top-btn-logout").click(function() {
        $.ajax({
            url: 'http://localhost/New%20folder/vigcheck.php?action=logout',
            success: function(data){
            alert(data);
                   //location.reload();
                //window.location.href = data;
            },
          error: function(XMLHttpRequest, textStatus, errorThrown) {
    if (XMLHttpRequest.status === 401) {
          location.href = 'index.php';
        }
      }
        });
    });
}

check.php:

<?php
if(isset($_GET['action']) == "logout" ){

header("HTTP/1.1 401 Unauthorized");

}
?>