在本地范围内定义全局范围的变量

时间:2014-12-03 10:27:49

标签: javascript ajax polling

我在javascript工作。我正在尝试在用户登录时重新加载页面。我正在轮询以不断检查用户数据。找到下面的代码

var check;
 function poll(){
        return $.ajax({
            url: 'http://localhost:3000/poll',
            type:'GET',
            xhrFields: { withCredentials: true }
        }).done(function(data){
              console.log(data); //  if user is logged in ,server sends the user object else it doesn't
              if(typeof data.name !== "undefined"){
                  check = '1';   // Browser doesnt remember check was 1 after reload
                  window.location.reload();
                    } else
                    {
                        setTimeout(function(){ poll(); }, 5000);
                    }


                });
    }

    if(typeof check == 'undefined'){     // Problem is here on reload, browser doesnt remember that i set `check = 1` in above condition. 
    setTimeout(function(){ poll(); }, 5000);
    }

我正在尝试制作工作流程,

1)如果用户未登录,则应继续轮询。它应该继续检查用户是否已登录。

2)如果用户已登录,则自动重新加载页面并停止轮询

1 个答案:

答案 0 :(得分:0)

您可以使用浏览器或Cookie的本地存储空间(HTML5)。