使用jquery在同一页面中与php通信(如果设置了cookie)



我有一个框架.php页面

if(isset($_COOKIE['user'])){
// do some stuff
}else{
// login script
}

jquery.frame.php页面中

$("#infm_login_button").live("click",function(){
    $.ajax({
        url: "urltologinformacceptance",
        type:"POST",
        data: $("#login").serialize()
    }).done(function(data){
        //do stuff
    });
    return false;
});

现在,在同一frame.php中,我如何让jquery告诉用户,哦,用户已经登录,是的,继续进入// do some stuff部分。但是,我不希望用户刷新页面。我希望它只在用户登录时将内容从// login script更改为// do some stuff,而不刷新页面。有没有办法让jquery与frame.phpcookie对话?

谢谢!

首先:自从jQuery 1.4或其他版本以来,live已被弃用。请改用.on()。

其次,当ajax调用完成时,您不想"做"某些事情,但当它成功时。如果有时间呢?试试这个:

                $.ajax({
            type : 'POST',
            url : 'url.php',
            data: $("#login").serialize(),
            success : function(data){
                $(document).html(data);
            }

                });

这将把url.php的输出打印到整个文档中,有点像php中的include()。

除了Djerro Neth的回答。回显已登录用户的输出(菜单、链接等)

 if(isset($_COOKIE['user'])){
 // do some stuff
      echo "Welcome back ".$_COOKIE['user']."!";
 }else{
 // login script
 }

并使用jQuery用frame.php返回的新内容覆盖登录表单中的div。

 success : function(data)
           {
              $("#loginspace").html(data);
           }           

相关内容

最新更新