。如何在ajax中设置php会话

时间:2015-08-20 09:02:50

标签: php jquery ajax session

我有一个登录但无法设置php会话的ajax。

如何通过php在ajax中设置会话?

我已经在标题中启动会话但是当下面的脚本运行时,它总是显示会话是真的。

    <script>
$(document).ready(function() {
    var loc=true;
    var php_var;
    // process the form
    $('#loginform').submit(function(event) {

        // get the form data
        // there are many ways to get this data using jQuery (you can use the class or id also)
        var formData2 = {
            'email'              : $('input[name=email]').val(),
            'password'           : $('input[name=password]').val()
        };

        // process the form
        $.ajax({
            type        : 'POST', // define the type of HTTP verb we want to use (POST for our form)
            url         : 'http://example/api/v1/login', // the url where we want to POST
            data        : formData2, // our data object
            dataType: 'json',
            success: function(data){        
            console.log(data);      
                if(data.error){
                    //show error message here
                    $('#name-group').html('<p>'+data.message);  
                <?php $_SESSION['isloggedIn']=false;?>
                }else{

                    //handle success part       
                    $('#name-group').html('<p>Login Successful');
                    <?php $_SESSION['isloggedIn']=true;?>

                }               
              },
              error: function(jqXHR, textStatus, errorThrown){
                //request error 

                $('#name-group').html('<p>'+textStatus.message);
                console.log('jqXHR:');
                console.log(jqXHR);
                console.log('textStatus:');
                console.log(textStatus);
                console.log('errorThrown:');
                console.log(errorThrown);   
              }             
        });

        // stop the form from submitting the normal way and refreshing the page
        event.preventDefault();
    });

});
</script>

1 个答案:

答案 0 :(得分:0)

您正在将客户端与服务器端代码混合,php代码在用户在浏览器中获取页面之前执行,因此当您使用api时,使用ajax请求到服务器上的php站点并在那里设置会话。不要忘记DerivedClass*