为什么不直接判断session,后端判断,如果要异步判断就得用ajax了

解决方案 »

  1.   

    我可以给你提供一个思路,一般来说,用户登录的信息都是要放到session里面去的,比如你在跳转到某个画面之后,首先把session里面的值取出来,放到一个页面的隐藏项当中,然后在你写的js中,把这个值取出来,做判断应该就可以了,试试看
      

  2.   

    用户登录信息通常服务器端通过http上下文可以取到,你可以通过ajax方式,服务器端开一个ajax请求接口,需要在客户端判断状态的地方进行ajax请求判断,然后回调继续你要的处理。
      

  3.   

    很难明白你的意思 
    因为我是在已经登录了之后写的这个js  完全不懂 是登陆了之后再写下这段js
    cookie ajax试试
      

  4.   


    我得代码就是你这个思路。直接判断的session有没有值,然后进行隐藏,但是没效果,我想可能需要异步判断之类的
      

  5.   

    你把所有与你user_name的代码都给我贴出来,我看看,应该不会有问题的,估计是你在取值的时候没有取到 
      

  6.   

    既然你已经写了session,你的页面跳转都是进控制器的,那你在控制器里面判断好了,
    比如:
    $id=$_SESSION['id'];
    if ($id){
    //跳转正常页面
    } else {
    //跳转登录
    }
      

  7.   

    div 标签:<div id="div1" runat="server" >......</div>
    c#代码设置div隐藏 div1.Attributes.Add("style","display:none");
    显示div.Attributes["style"]="display:''";比较笨的  feel
      

  8.   


    session_start ();
    $user_name=$_SESSION["user_name"];
    $User = M ( 'univ_basic_info' );
    $result = $User->select();
    $this->assign('list',$result);
    $this->user_name=$user_name;
        $this->display();
    这个是在控制器的代码。 user_name 我确定是有值的,我在模版页面也能够打印出来,我觉得可能就是那段js有问题
      

  9.   


    怎么变成了页面跳转? 我要判断div布局显示问题
      

  10.   


    c#。。能混着用么 ?我不会这个呀
    都给你 code  了。。  有 html 代码。。后台c#也有呀。
      

  11.   


    // if used jquery and jquery.cookie
    setTimeInterval(isLogin,500);
    function isLogin(){
          if(!$.cookie("userId")){
              //alert("你未登陆");
          }
          else{
              //alert("你已登陆");
          }
    }
      

  12.   

    <div id="login_null">
                    <a href="/index.php/home/Index/login"> 登录</a>
                      <span class="xsplit">|</span>
                    <a href="/index.php/home/Index/register">快速注册</a>
                     <span class="xsplit">|</span>
                    <a href="/index.php/home/Index/manager_page">后台管理</a>
     </div>
    <div id="login_success">
            <a href="/index.php/Home/Index/changeInfo" class="J_select_list" rel="passport_menu_box" params="   {&quot;reverseSharp&quot;:true}">您好:{$user_name} !  </a>
           <span class="xsplit">|</span>
           <a href="__URL__/sessionNull" >退出</a>
     </div> 如果已经登录了id=login_success 显示  如果没登录 id=login_null 显示 怎么实现 ?
      

  13.   

    为什么不行?// if used jquery and jquery.cookie
    setTimeInterval(isLogin,500);
    function isLogin(){
          if(!$.cookie("userId")){
              handleUnLogin();
              //render unlogin 模板
          }
          else{
              handleLogin();
              //render login 模板
          }
    }
      

  14.   

    比如:login的话就显示 白开水|退出|后台管理
    unlogin的话就显示 登陆|快速注册你看如何?
      

  15.   

    login的话就显示 白开水|退出
    unlogin的话就显示 登陆|快速注册|后台管理   嗯 这样
      

  16.   


    <!doctype html>
    <html lang="zh-cn">
    <head>
        <meta charset="utf-8">
    <style>*{margin:0;padding:0;}div{padding:20px;}a{padding:10px;}</style>
        <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
    </head>
    <body>
    <script>
    //假设 localStorage["isLogin"] 表示是否登录,实际中用ajax取回的登录状态或者cookie替代
    $(function(){
    localStorage["isLogin"] = "";
    function checkLogin(){
    if(localStorage["isLogin"]){
    handleLogin();
    }
    else{
    handleUnLogin();
    }
    }
    function handleLogin(){
    $("#header").html('<div><a href="javascript:;">白开水</a>|<a id="quit" href="javascript:;">退出</a>|<a href="javascript:;">后台管理</a></div>')
    }
    function handleUnLogin(){
    $("#header").html('<div><a href="javascript:;">登录</a>|<a href="javascript:;">快速注册</a></div>')
    }
    $("#btn1").on("click",function(){
    localStorage["isLogin"] = (localStorage["isLogin"]?"":1);
    });
    $(document).on("click","#quit",function(){
    localStorage["isLogin"] = "";
    handleUnLogin();
    });
    setInterval(checkLogin,500);
    });
        </script>
        <div id="wrapper">
         <header id="header"></header>
            <div>
             <button id="btn1">切换登录状态,实际需经服务器切换(可以发ajax服务端写cookie,也可以发ajax拿登录状态,session不适合集群,当然你可以使用session)</button>
            </div>
        </div>
    </body>
    </html>
      

  17.   


    cookie   我用的session 判断是不是一样的?user_name就是session值
    $(document).ready(function(){
    $("#member_login_log").click(function() {
    if("user_name"!=null)
    {
    $("#login_null").hide();
    }});
    });
      

  18.   


    <!doctype html>
    <html lang="zh-cn">
    <head>
        <meta charset="utf-8">
    <style>*{margin:0;padding:0;}div{padding:20px;}a{padding:10px;}</style>
        <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
    </head>
    <body>
    <script>
    //假设 localStorage["isLogin"] 表示是否登录,实际中用ajax取回的登录状态或者cookie替代
    $(function(){
    function checkLogin(){
    if(localStorage["isLogin"]){
    handleLogin();
    }
    else{
    handleUnLogin();
    }
    }
    function handleLogin(){
    $("#header").html('<div><a href="javascript:;">白开水</a>|<a id="quit" href="javascript:;">退出</a>|<a href="javascript:;">后台管理</a></div>')
    }
    function handleUnLogin(){
    $("#header").html('<div><a href="javascript:;">登录</a>|<a href="javascript:;">快速注册</a></div>')
    }
    $("#btn1").on("click",function(){
    localStorage["isLogin"] = (localStorage["isLogin"]?"":1);
    });
    $(document).on("click","#quit",function(){
    localStorage["isLogin"] = "";
    handleUnLogin();
    });
    setInterval(checkLogin,500);
    });
        </script>
        <div id="wrapper">
         <header id="header"></header>
            <div>
             <button id="btn1">切换登录状态,实际需经服务器切换(可以发ajax服务端写cookie,也可以发ajax拿登录状态,session不适合集群,当然你可以使用session)</button>
            </div>
        </div>
    </body>
    </html>
      

  19.   

    不管session还是cookie,只是一个用于判断是否登陆的变量而已。